我目前正在開發一個基於java的跨平臺軟件分銷商,並且我選擇使用本機操作系統機制來防止用戶在手動前進行任何設置。Java JACOB檢索給定Win32_ *類對象的所有屬性
我選擇了JSCH for SSH2和JACOB for Java。我意識到JACOB將我限定爲Windows的首席主持人,但這是我可以接受的。
我正在編寫一個圍繞JACOB的包裝來使用一些本機制通過WMI與目標交談,並且我遇到了一個小問題。我正在嘗試檢索給定Win32_類對象的所有可用屬性的列表,但我無法完成此操作。
此鏈接顯示您可以在VB http://www.vbsedit.com/scripts/misc/wmi/scr_1333.asp中做到這一點,我想知道是否有人在使用JACOB時能夠弄清楚它。
編輯:(代碼段)以上
item = enumVariant.nextElement().toDispatch();
//Dispatch.class returns a variant which can convert to java form
String serviceName = Dispatch.call(item, "Name").toString();
String servicePath = Dispatch.call(item,"PathName").toString();
int servicePID = Dispatch.call(item,"ProcessId").getInt();
//System.out.println("Service: "+serviceName+" ServicePath: "+servicePath+" PID: "+servicePID);
//System.out.println(serviceName+" "+servicePath+" "+servicePID);
list.add(serviceName+" "+servicePID);
代碼顯示,我可以要求單獨的屬性,但沒有要求對所有屬性的好方法。
本例中的起點是'GetObject()'vbscript函數。我總是使用Jacob開始的'CreateObject()',所以我不知道這是否可能。有一篇關於嘗試訪問WMI的未回覆的帖子,[在SourceForge Jacob論壇中](https://sourceforge.net/projects/jacob-project/forums/forum/375946/topic/4069124) – Jarekczek
我回答了帖子,儘管它已經快一歲了。我知道如何訪問單個屬性,但我想找到一種查詢所有可用屬性的方法。 – ChristianB
請在此處發佈您的代碼,以便我們可以看到問題的確切位置。而且我們可以從那一刻開始,而不是從頭開始:)。謝謝。 – Jarekczek