2011-11-16 31 views
2

我目前有一個Perl進程,使用Win32 GuiTest來訪問單獨的Windows GUI進程的文件菜單。這兩個進程都在同一臺Windows(2K3x64)服務器上運行。我想將它移植到Java,並讓Java進程操縱Windows GUI。如何通過單獨的Java進程訪問Windows GUI文件菜單?

我已經看着方丈,JaWin和申訴委員會,但他們似乎都對鞦韆,AWT,Java的操作-Java的Windows來進行減速等

在Win32 GuiTest方法是,Perl的進程使用是:

FindWindowLike() 
GetWindowText() 
SetForeGroundWindow() 
SendKeys() 
GetFocus() 
GetActiveWindow() 

雖然Java代碼示例或鏈接的示例將是理想的答案,任何MFC相關的建議將不勝感激。謝謝!

回答

1

你最好打賭,國際海事組織,是使用JNI (Java Native Interface)。查看一些與Win32 UI相關的samples here.。和Sun JNI TOC here

您列出的GUI測試方法聽起來像他們幾乎一對一映射到Win32 API。 GetWindowText,例如,是

你也應該看看JNA在User32.dll中定義的函數...:https://github.com/twall/jna或焦耳/直接:http://www.codeguru.com/java/tij/tij0193.shtml

+0

謝謝!但是,我將繼續尋找一種解決方案,它不需要我學習C並與自編DLL相關聯。不過,我會嘗試一下這個鏈接的例子。 –

+0

JNI不需要C或自編譯的DLL。對不起,這個例子會誤導你。您可以導入並使用Win32 DLL,而不會造成很多麻煩。 –

+0

啊!那樣的話,我馬上就試試。 –