BGG = ShellExecute(0, "Open", "D:\SinoTrans.exe", vbNullString, vbNullString, 1) '
IOTHER(1).Delay 5000 '啟動系統并延遲3秒
h(0) = IWINDOW(1).FindWindow("WindowsForms10.Window.8.app3", "Logon SinoTrans operation system")
h(1) = IWINDOW(1).FindWindowEx(h(0), 0, "WindowsForms10.STATIC.app3", "Login name:")
R = IWINDOW(1).GetWindowRect(h(1))
L = IWINDOW(1).GetWindowCenter(h(1))
h(2) = IWINDOW(1).WindowFromPoint(R(2) - R(0) + L(0), L(1)) '輸入賬戶開始
IOTHER(1).Delay 1000
I = SendMessage(h(2), WM_SETTEXT, ByVal 0&, ByVal "chenjin") '輸入賬戶結束
h(3) = IWINDOW(1).WindowFromPoint(R(2) - R(0) + L(0), R(3) - R(1) + L(1)) '輸入密碼開始
IOTHER(1).Delay 1000
I2 = SendMessage(h(3), WM_SETTEXT, ByVal 0&, ByVal "laizi7021") '輸入密碼結束
h(4) = IWINDOW(1).FindWindowEx(h(0), 0, "WindowsForms10.BUTTON.app3", "Login")
IOTHER(1).Delay 1000
IMESSAGE(1).LeftButtonDown h(4) '點擊LOGIN按鈕進入系統
IMESSAGE(1).LeftButtonUp h(4)
---------利用上面的API函式ShellExecute打開一個EXE,成功打開了登錄界面,并輸入賬號和密碼,但是正式登錄進去
就提示:呼叫的目標發生了例外。未將物件引|用設定到物件的實體。后來查了一下是因為WINDOWS的UIPI影響了,所以想問一下我如何在
這段VBA里添加發送訊息的白名單,使打開這個EXE的時候能夠正確的初始化。謝謝大家。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/73643.html
