對於我的一位客戶,我正在用C#編寫Windows服務。它檢查了很多東西,但它必須做的一件事是檢查一個打印機端口(ip地址)是否已經存在。如果是,請將某臺打印機連接到IP端口。如果不是,請創建端口並連接。Windows服務與WMI
我使用WMI檢查現有打印機端口並創建它們。我還使用WMI將打印機連接到打印機端口。
在Windows 7上,這很像一個魅力。但在我的(虛擬)XP機器上,該服務似乎沒有任何WMI權限。端口檢查失敗,創建失敗。給出了一個簡單的來自ManagementException的「拒絕訪問」。
如果我製作一個小測試程序(C#中的控制檯應用程序),它的作用也像魅力一樣。
我試着在不同的帳戶下運行服務(本地系統,管理員,我的個人用管理員權限登錄),似乎沒有任何工作,我感覺你不能在Windows XP的Windows服務中使用WMI。
你們有什麼線索如何解決這個問題?或者這裏有什麼問題?
不知道在哪裏尋找答案,所以我在這裏做了一個帳戶,希望能找到正確的答案。
是的,我用WIN32_Printer。但它可以在同一臺XP計算機上使用控制檯應用程序。 – Aspage 2012-02-01 01:08:58
更正:我使用WMI,它引用WMI中的Win32_Printer'文件夾/類'。我不直接使用Win32_Printer來完成任務。 – Aspage 2012-02-01 11:15:06
Win32_Printer是一個WMI類。如果您不使用Win32_Printer,哪個WMI類正在使用? – 2012-02-01 15:21:49