delphi中有模拟发送鼠标按键sendmessage的疑问

在delphi中有一个模拟发送鼠标按键的功能,比如:sendmessage(hookHwnd,messages.WM_LBUTTONDOWN,0,$007B024B);/... 在delphi中有一个模拟发送鼠标按键的功能,比如:
sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$007B024B);// 按下鼠标左键
sendmessage(hookHwnd,messages.WM_LBUTTONUP ,0, $007B024B); //抬起鼠标左键
因为我的鼠标坐标是随机产生的,$007B024B这个数值不固定,我就想使用下面这方式来动态获取$007B024B这个值
Var x,y:integer;
x16,y16,m:string;
mm:integer;

x:=587;//x坐标,随机产生
y:=123;//y坐标,随机产生

x16:=inttohex(x,4);//将x坐标转换为16进制,值为:024B
y16:=inttohex(y,4);//将y坐标转换为16进制,值为:007B
m:='$'+x16+y16;//整合为一个字符串:$007B024B,这里现在是一个字符串,我如何才能将这个字符串转换为整数$007B024B
mm:=strtoint(m);//这里出错...因为m这个数值里含有字母,就算是不含有字母,也会转换为其他数字,最终转换出来的不是$007B024B这个值

//mm := (y shl 16) or x;//用这种方式得到的数值也不是$007B024B这个,

sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,mm);// 按下鼠标左键
sendmessage(hookHwnd,messages.WM_LBUTTONUP ,0, mm); //抬起鼠标左键

大家帮忙看看怎么解决,或者是有其他什么方式替换呢,谢谢哦
展开
 我来答
yeye55
2010-08-11 · TA获得超过715个赞
知道小有建树答主
回答量:412
采纳率:0%
帮助的人:407万
展开全部
Var
x,y,lParam:Cardinal;
begin

x:=587;//x坐标,随机产生
y:=123;//y坐标,随机产生

lParam:=(y shl 16) or x;

sendmessage(hookHwnd,messages.WM_LBUTTONDOWN,0,lParam); // 按下鼠标左键
sendmessage(hookHwnd,messages.WM_LBUTTONUP,0,lParam); //抬起鼠标左键

end;
月球天梯
2010-08-11 · 超过10用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:33.6万
展开全部
使用MakeWord 作成高低字节 而不是十六进制
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式