API 后台发送退格键为什么不好用啊?
$cv=_WinAPI_PostMessage($hWnd,0x0100,8, 0)这个,不行哦,高手指点下,谢谢!!!! 干嘛要重开贴啊,汗~:face (2): 不是一个问题吧?:face (25): 用他来发吧
http://www.shynd.com/scripts/PostMessage_UDF.au3 #include <PostMessage_UDF.au3>
$Hwnd = WinGetHandle("计算器")
_MouseClick($hWnd, "left", 19, 12)
_SendText($Hwnd,"9");后台发送点击9的消息
试过不好用啊?同志们怎么用PostMessage_UDF.au3啊???!! 本帖最后由 pusofalse 于 2009-6-28 19:31 编辑
#include <SendMessage.au3>
If Not IsDeclared("WM_CHAR") Then $WM_CHAR = 0x102
_SendMessage($hWnd, $WM_CHAR, 8, 0) 这个可以后台发么,我试了好像没效果哦~~ _SendText($Hwnd,$bb)
_SendKeys($hWnd, "{ENTER}")
用这个还不行啊~继续等。。。。。。。。。。。。。。。。。。。。。。 本帖最后由 pusofalse 于 2009-6-28 20:19 编辑
这个可以后台发么,我试了好像没效果哦~~
xpban2006 发表于 2009-6-28 19:40 http://www.autoitx.com/images/common/back.gif
如果目标进程阻止了发送按键,可能会导致失败。
我这里用记事本测试成功,楼主所谓的“后台”是什么意思?
以记事本为例,试下这样:#include <SendMessage.au3>
If Not IsDeclared("WM_CHAR") Then $WM_CHAR = 0x102
Run("Notepad.exe")
WinWait("")
; $hWnd - 记事本的编辑框句柄。
$hWnd = ControlGetHandle("" ,"", "Edit1")
_SendMessage($hWnd, $WM_CHAR, Asc("a"), 0)
Sleep(1000)
_SendMessage($hWnd, $WM_CHAR, 8, 0) 后台----打开的窗口可以不是激活状态,向它发按键
你的命令我试了不好用啊 兄弟,你和我那个向隐藏窗口发空格是一样的道理....很多命令我都试过了......都不行....我用按键精灵就可以,但是按键精灵占用CPU太高了....所以想转为AU3的程序.......但是都没办法达到这样的效果.... 不是没有办法了吧?:face (30): 本帖最后由 liongodmien 于 2009-6-29 08:43 编辑
一个简单例子
$hwnd = WinGetHandle('计算器', 'Backspace')
ControlClick($hwnd, '', '')
;ControlSetText($hwnd, '', '', '999')
这个也达不到要求......这个是已打开了窗口的,.....他要的是在隐藏状态下.... 14# mmsivws
画人不一定要画出肠子的!
Run(@SystemDir & '\calc.exe')
WinWaitActive('计算器', 'Backspace')
MsgBox(262148, '注意计算器', '记住计算机里显示的数字是多少!' & @CR & '记住后按‘是’')
$hwnd = WinGetHandle('计算器', 'Backspace')
WinSetState($hwnd, '', @SW_HIDE)
ControlClick($hwnd, '', '')
;ControlSetText($hwnd, '', '', '999')
MsgBox(262212, '注意看桌面', '计算机隐藏了吗?')
WinSetState($hwnd, '', @SW_SHOW)
页:
[1]
2