模拟一下鼠标左键的操作。不限语言,我想套在批处理里用。我用批处理调出来ATI显卡的设置程序,用VBS
模拟键盘操作,选到图片所示位置后,选不住图中这个方框,只能用鼠标点。现在想全“自动操作”。我们是无盘客户机上设置,很多机器。所以想这样。或者有什么办法能把这个位置给选上也...
模拟键盘操作,选到图片所示位置后,选不住图中这个方框,只能用鼠标点。现在想全“自动操作”。我们是无盘客户机上设置,很多机器。所以想这样。
或者有什么办法能把这个位置给选上也行。 展开
或者有什么办法能把这个位置给选上也行。 展开
1个回答
展开全部
不限语言呀,那我把我正在使用的DELPHI代码粘贴给你,我是编译为EXE程序使用,源程序代码如下:
program CLK;
{$apptype console$}
uses windows,messages;
var
h:HWND;
p:TPoint;
ok:integer;
begin
if ParamCount<2 then
begin
writeln('Using: CLK.EXE X Y [WIND]');
exit;
end;
val(ParamStr(1), p.x, ok); if ok<>0 then begin writeln('X pos is invalid!'); exit; end;
val(ParamStr(2), p.y, ok); if ok<>0 then begin writeln('Y pos is invalid!'); exit; end;
if ParamCount>2 then
begin
val(ParamStr(3), h, ok); if ok<>0 then begin writeln('WIND is invalid!'); exit; end;
end else
begin
h:=WindowFromPoint(p);//返回句柄
windows.ScreenToClient(h,p);
end;
if h<>0 then
begin
PostMessage(h,WM_LBUTTONDOWN,0,MakeLParam(p.x,p.y));
PostMessage(h,WM_LBUTTONUP,0,MakeLParam(p.x,p.y));
writeln('CLICK sended to window ', h,' (',p.x,',',p.y,')');
end;
end.
program CLK;
{$apptype console$}
uses windows,messages;
var
h:HWND;
p:TPoint;
ok:integer;
begin
if ParamCount<2 then
begin
writeln('Using: CLK.EXE X Y [WIND]');
exit;
end;
val(ParamStr(1), p.x, ok); if ok<>0 then begin writeln('X pos is invalid!'); exit; end;
val(ParamStr(2), p.y, ok); if ok<>0 then begin writeln('Y pos is invalid!'); exit; end;
if ParamCount>2 then
begin
val(ParamStr(3), h, ok); if ok<>0 then begin writeln('WIND is invalid!'); exit; end;
end else
begin
h:=WindowFromPoint(p);//返回句柄
windows.ScreenToClient(h,p);
end;
if h<>0 then
begin
PostMessage(h,WM_LBUTTONDOWN,0,MakeLParam(p.x,p.y));
PostMessage(h,WM_LBUTTONUP,0,MakeLParam(p.x,p.y));
writeln('CLICK sended to window ', h,' (',p.x,',',p.y,')');
end;
end.
追问
那个。。。。。我是个程序文盲。。。能不能稍微解释一下。。。。我获取到坐标后修改那个地方?
追答
Using: CLK.EXE X Y [WIND]
用法,可以是两个参数,用屏幕绝对坐标,可以是三个参数,第三个参数为窗口ID,使用窗口向对坐标。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询