Я хочу сделать это:
1.Найдите кнопку «CheckData» в окне «FetchData».
2.Нажмите «CheckData».
3.PopВ новом окне «Проверка».
4.Найдите кнопку «Пуск» в окне «Проверка».
5.Нажмите «Старт».
Но не удалось найтиВ новом всплывающем окне «Проверить» после PostMessage нажать кнопку «CheckData».Как я могу это исправить?
TCM_SETCURFOCUS = 4912
WM_SETFOCUS = 7
WM_KEYDOWN = 256
WM_KEYUP = 257
BM_CLICK = 245
Set Wrap = CreateObject("DynamicWrapper")
Wrap.Register "user32.dll", "FindWindowA", "i=ss", "f=s", "r=l"
Wrap.Register "user32.dll", "FindWindowExA", "i=llss", "f=s", "r=l"
Wrap.Register "user32.dll", "PostMessageA", "i=lull", "f=s", "r=l"
Wrap.Register "user32.dll", "GetWindow", "i=ss", "f=s", "r=l"
h = Wrap.FindWindowA("#32770", "FetchData")
tab = Wrap.FindWindowExA(h, 0, "SysTabControl32", "Fetch")
Wrap.PostMessageA tab, TCM_SETCURFOCUS, 2, 0
h1 = Wrap.FindWindowExA(h, 0, "#32770", "Fetch")
cb = Wrap.FindWindowExA(h1, 0, "ComboBox", "")
Wrap.PostMessageA cb, WM_SETFOCUS, 0, 0
Wrap.PostMessageA cb, WM_KEYDOWN, VK_DOWN, 0
Wrap.PostMessageA cb, WM_KEYUP, VK_DOWN, 0
bt = 0
bt = Wrap.FindWindowExA(h1, 0, "Button", "CheckData")
Wrap.PostMessageA bt, BM_CLICK, 0, 0
'find popup window
h2 = Wrap.FindWindowA("#32770", "Check")
bt2 = 0
bt2 = Wrap.FindWindowExA(h2, 0, "Button", "Start")
Wrap.PostMessageA bt2, BM_CLICK, 0, 0
set Wrap = nothing