xpban2006 发表于 2009-6-9 20:05:27

API 后台发送退格键为什么不好用啊?

$cv=_WinAPI_PostMessage($hWnd,0x0100,8, 0)
这个,不行哦,高手指点下,谢谢!!!!

kn007 发表于 2009-6-9 20:06:21

干嘛要重开贴啊,汗~:face (2):

xpban2006 发表于 2009-6-9 20:13:51

不是一个问题吧?:face (25):

sxd 发表于 2009-6-10 22:20:13

用他来发吧
http://www.shynd.com/scripts/PostMessage_UDF.au3

xpban2006 发表于 2009-6-28 19:09:57

#include <PostMessage_UDF.au3>

$Hwnd = WinGetHandle("计算器")

_MouseClick($hWnd, "left", 19, 12)

_SendText($Hwnd,"9");后台发送点击9的消息
试过不好用啊?同志们怎么用PostMessage_UDF.au3啊???!!

pusofalse 发表于 2009-6-28 19:29:45

本帖最后由 pusofalse 于 2009-6-28 19:31 编辑


#include <SendMessage.au3>
If Not IsDeclared("WM_CHAR") Then $WM_CHAR = 0x102
_SendMessage($hWnd, $WM_CHAR, 8, 0)

xpban2006 发表于 2009-6-28 19:40:56

这个可以后台发么,我试了好像没效果哦~~

xpban2006 发表于 2009-6-28 20:05:40

_SendText($Hwnd,$bb)
_SendKeys($hWnd, "{ENTER}")
用这个还不行啊~继续等。。。。。。。。。。。。。。。。。。。。。。

pusofalse 发表于 2009-6-28 20:11:48

本帖最后由 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)

xpban2006 发表于 2009-6-28 20:13:46

后台----打开的窗口可以不是激活状态,向它发按键
你的命令我试了不好用啊

mmsivws 发表于 2009-6-29 01:37:13

兄弟,你和我那个向隐藏窗口发空格是一样的道理....很多命令我都试过了......都不行....我用按键精灵就可以,但是按键精灵占用CPU太高了....所以想转为AU3的程序.......但是都没办法达到这样的效果....

xpban2006 发表于 2009-6-29 01:55:37

不是没有办法了吧?:face (30):

liongodmien 发表于 2009-6-29 08:41:16

本帖最后由 liongodmien 于 2009-6-29 08:43 编辑

一个简单例子

$hwnd = WinGetHandle('计算器', 'Backspace')
ControlClick($hwnd, '', '')
;ControlSetText($hwnd, '', '', '999')

mmsivws 发表于 2009-6-29 09:23:40

这个也达不到要求......这个是已打开了窗口的,.....他要的是在隐藏状态下....

liongodmien 发表于 2009-6-29 09:42:45

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
查看完整版本: API 后台发送退格键为什么不好用啊?