-1
我使用ControlSend()
在不同的窗口中發送熱鍵。問題是找到合適的窗口控制。或者控制是正確的,還有一個未知的問題。這些都是控制:自動控制
標題:PokeMMO
類:LWJGL
控件ID:仍然未知
過程:javaw.exe的
$handle = WinGetHandle("[TITLE:PokeMMO; CLASS:LWJGL]")
ControlSend($handle, Default, $handle, "{Down}")
沒有工作。
Global $sProcess = "javaw.exe" ; Process PokeMMO
ControlSend(_Process2Win($sProcess), "", "", "{DOWN}")
Func _Process2Win($pid)
If IsString($pid) Then $pid = ProcessExists($pid)
If $pid = 0 Then Return -1
$list = WinList()
For $i = 1 To $list[0][0]
If $list[$i][0] <> "" And BitAND(WinGetState($list[$i][1]), 2) Then
$wpid = WinGetProcess($list[$i][0])
If $wpid = $pid Then Return $list[$i][0]
EndIf
Next
Return -1
EndFunc ;==>_Process2Win
沒有工作。我也試過這樣:
Run("C:\path\path\path\PokeMMO.exe")
WinWait("[CLASS:LWJGL]")
Local $sControl = ControlGetFocus("[CLASS:LWJGL]")
MsgBox(0, "ControlGetFocus Example", "The control that has focus is: " & $sControl)
制度的幾點信息:Java虛擬機啓動 - Java異常已發生錯誤!
A guide on YouTube告訴安裝不同版本的Java。
它是一個桌面窗口嗎?嘗試WinFlash它。它是一個exe編譯的Java程序嗎? Java不使用本機Win API。所以很難自動化。嘗試使用空字符串「」更改第一個示例中的默認參數。如果Control-Functions不適用於Java應用程序,則應嘗試使用WinActivate,然後再嘗試使用Send。 – Samoth 2013-02-13 07:54:13