0
我正在寫一個VBA在第三方程序中寫入文本。 在「subwin」 - 「wxWindowNR」下有兩個窗口類名稱,其名稱相同。VBA winapi findwindowEx - 發送文本到相同的類處理程序名稱
我可以發送消息給第一個「編輯」,但不是第二個。
我怎麼能發送文字到第二「編輯?
Sub writeTextOnWin()
Dim i As Long
Dim wClass As Object
hWnd = FindWindow(vbNullString, "mkvmerge GUI")
start_doc = ShellExecute(hWnd, "open", "C:\Program Files\MKVToolNix\mmg.exe", "", 0, SW_NORMAL)
If start_doc = 2 Then Exit Sub
If start_doc = 3 Then Exit Sub
Do
DoEvents
hwindow2 = FindWindow(vbNullString, "mkvmerge GUI v7.7.0 ('Six Voices') 64bit")
Loop Until hwindow2 > 0
mainWin = FindWindowEx(hwindow2, 0&, "wxWindowNR", vbNullString)
subWin = FindWindowEx(subWin, 0&, "wxWindowNR", vbNullString)
editWin = FindWindowEx(subWin, 0&, "Edit", vbNullString)
editWin2 = FindWindowEx(subWin, 0&, "Edit", vbNullString)
Call SendMessageByString(editWin, WM_SETTEXT, 0, "hello")
Call SendMessageByString(editWin2, WM_SETTEXT, 1, "hello again")
end sub