能力值:
( LV6,RANK:90 )
|
-
-
2 楼
很多东西只有一个窗口的,比如魔兽世界,只需要
hWOW = FindWindow(NULL, "魔兽世界");
PostMessage(hWOW, WM_KEYDOWN, 0x20, NULL); //0x20空格键
PostMessage(hWOW, WM_CHAR, 0x20, NULL);
PostMessage(hWOW, WM_KEYUP, 0x20, NULL);
这样就行了
而记事本notepad有2个窗口,可以用spy++看到,需要FindWindow之后,再FindWindowEx查找到子窗口,然后往那个hWnd发送消息才有效。
|
能力值:
( LV9,RANK:380 )
|
-
-
3 楼
(Ctrl+S):
invoke FindWindow,NULL,CTXT("这里是程序的窗口标题")
.if eax!=NULL
mov hText,eax
invoke SetWindowPos,hText,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE
invoke SetWindowPos,hText,HWND_NOTOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE
invoke SetForegroundWindow,hText
invoke keybd_event,VK_CONTROL,0,0,0
invoke keybd_event,'S',0,0,0
invoke Sleep,10
invoke keybd_event,'S',0,KEYEVENTF_KEYUP,0
invoke keybd_event,VK_CONTROL,0,KEYEVENTF_KEYUP,0
.endif
主窗口的子按扭:
invoke FindWindow,CTXT("ThunderRT6FormDC"),NULL ;找所有类
.if eax!=NULL
mov hText,eax
.endif
invoke FindWindowEx,hText,NULL,NULL,CTXT("立即释放");找其子按扭
.if eax!=NULL
mov hText1,eax
invoke SetWindowPos,hText1,HWND_NOTOPMOST, 100 , 200,200, 200, SWP_NOSIZE
invoke SendMessage,hText1,WM_LBUTTONDOWN,0,0
invoke SendMessage,hText1,WM_LBUTTONUP,0,0
.endif
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
还可以用SendInput,等答案区公开了,会见着的。
|
能力值:
( LV12,RANK:290 )
|
-
-
5 楼
最好还是用key_event
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
很感谢大家,我终于会了!
过几天我准备写一个简单的总结贴,帮助向我一样迷茫的小鸟.
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
%u603B%u7ED3%u8D34 %u6211%u4E5F%u8981%u770B%u770B
|