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); //抬起鼠标左键
大家帮忙看看怎么解决,或者是有其他什么方式替换呢,谢谢哦 展开
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); //抬起鼠标左键
大家帮忙看看怎么解决,或者是有其他什么方式替换呢,谢谢哦 展开
2个回答
展开全部
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;
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;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询