zhuangrui911 发表于 2012-2-4 21:15:26

_WinAPI_PostMessage后台发送组合键ctrl+c 请教

如题,
_WinAPI_PostMessage($hWnd, $iMsg, $iwParam, $ilParam)

参数
$hWnd 接收窗口程序消息的窗口标识.
如果这个参数为 0xFFFF (HWND_BROADCAST), 消息被发送到系统中所有顶层窗口,
包括禁用或隐藏的未知窗口, 重叠窗口, 并弹出窗口, 但该消息不会发送到子窗口.
$iMsg 指定发送的消息
$iwParam 第一个消息参数
$ilParam 第二个消息参数

在论坛上搜索也为得到满意的答案,$ilParam 这个参数为32位,是不是要输入0000 0000 0000 0000 0000 0000 0000 0000 32个数字来表示?
比如发送ctrl+c,应如何实现呢?看论坛上很多人在寻求这个的解决方案,请高手出来讲讲,以ctrl+c为例说说,谢谢啦

afan 发表于 2012-2-4 21:19:16

#include <PostMessage_UDF.au3>
_sendkeys($hWnd, '^c')

zhuangrui911 发表于 2012-2-4 21:33:31

回复 2# afan

谢谢afan
但是我在Include文件夹下没有找到PostMessage_UDF.au3,不知能否提供一个,谢谢了!
另外
#include <PostMessage_UDF.au3>
_sendkeys($hWnd, '^c')
能否实现后台发送?因为还没有PostMessage_UDF.au3,所以无法试~

afan 发表于 2012-2-4 21:35:44

这里好像有 http://www.shynd.com/scripts/PostMessage_UDF.au3

zhuangrui911 发表于 2012-2-4 21:37:23

回复 4# afan
谢谢了 我先去试试 再回来改帖子状态

zhuangrui911 发表于 2012-2-4 21:56:06

本帖最后由 zhuangrui911 于 2012-2-4 21:59 编辑

回复 4# afan #include <PostMessage_UDF.au3>
;===========
$Trade_Software_Handle=WinGetHandle("网上股票交易系统5.0")
ClipPut("")
Sleep(1000)
_sendkeys($Trade_Software_Handle,'^c')
MsgBox(0,"",ClipGet())结果剪贴板为空的


不知哪里有问题,谢谢了~

afan 发表于 2012-2-4 22:00:21

回复 6# zhuangrui911


    可能不支持 ctrl 等功能键吧~ 另外,有些窗口 $hWnd 需要的是控件句柄。
还可以试试发送鼠标点击也可复制。具体的得自己测试~

zhuangrui911 发表于 2012-2-4 22:11:00

回复 7# afan
换成控件句柄后报错 内存什么的不能为read……
直接用_WinAPI_PostMessage()能否实现?

Chinacat 发表于 2012-2-4 23:21:21

skyfree入门本的那本书有说到,帮助也有,看看帮助吧,很不错的说。。。
页: [1]
查看完整版本: _WinAPI_PostMessage后台发送组合键ctrl+c 请教