2011-04-12 62 views
1

我遇到了一個奇怪的問題。德爾福不認識到多臺打印機存在

我的程序是使用Delphi7開發的。在運行Windows 7 64位的客戶端計算機上,即使安裝了多個打印機,Printer.Printers.Count也會返回0。

MS Word打印沒有問題,並返回正確的打印機列表。

顯然,它曾經在同一臺計算機上工作,然後在過去的某個點停止工作。

最近安裝了後臺打印程序和網絡打印機。

當然,這可能會導致這個問題,但它仍然不能解釋爲什麼Word會看到打印機,而Delphi不會。

任何想法?

謝謝!


編輯:運行使用提升的權限程序解決的問題。重點是Martijn。謝謝!

+3

我覺得這不是一個真正的Delphi編程問題,甚至是一個可回答的問題...... – 2011-04-12 15:32:47

+1

我想你需要在遠程計算機上進行調試以瞭解發生了什麼。對於這種情況,沒有通用的解決方案(除了在該系統上進行調試或重新安裝Windows) – 2011-04-12 15:41:01

+0

打印機是否顯示在Windows打印機和設備面板中? – 2011-04-12 16:43:31

回答

4

這聽起來有點像您正在使用提升的權限(即以管理員身份)運行程序,未安裝打印機,因爲它們都在用戶的常規帳戶下。

反之亦然(安裝爲管理員的打印機對於以有限的帳戶權限運行的程序無法訪問)。我想這屬於http://superuser.com

4

TPrinter.Printers使用外部窗口功能EnumPrinters。如果有問題應該用你的主機!
您可以在運行相同操作系統「Windows 7 64bit」的計算機上測試您的應用程序,如果運行沒有問題,那麼您可以確定問題不在於您的Delphi代碼。

+0

感謝您的確認。我以爲德爾福會使用標準的Windows功能,這就是爲什麼我驚訝... – Steve 2011-04-13 07:19:39