如何设置鼠标坐标

ADWARDS00 2004-04-01 01:57:44
如何用消息定位一个最小化了的窗口上的鼠标位置,我想设置一个窗口的鼠标位置并完成单击动作,单击动作我已经可以实现,但是先要把鼠标定位到我要的坐标才行,不知道用哪个消息,或是有别的方法
...全文
996 27 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
sglzq 2004-04-21
  • 打赏
  • 举报
回复
抢分了!哈哈!谢谢楼主!
ADWARDS00 2004-04-19
  • 打赏
  • 举报
回复
再说得详细点:有一个副图画,我希望鼠标点某个坐标(比如100,50),而这个图画并不是作为最前面的窗口的,因为我希望我这个程序能在后台运行,前台我可以做别的事情.就这么简单,但是难就难在这个图画的某点的句柄是没有的(或者说是整个图画的句柄,不符合我的要求),这样该如何办
ADWARDS00 2004-04-06
  • 打赏
  • 举报
回复
用SPY++看了是按钮,不过还有一些看不到,比如牌,那些是画出来的
nyf1220 2004-04-06
  • 打赏
  • 举报
回复
你去网上找找类似与spy++的工具,可以看看那些到底是不是按牛,
ADWARDS00 2004-04-06
  • 打赏
  • 举报
回复
是的,有些是按钮,但有些不是,所以还是得取点,有些是画出来的
nyf1220 2004-04-06
  • 打赏
  • 举报
回复
就是呀
牌是画出来的
果然搞不到
怎么办
nyf1220 2004-04-05
  • 打赏
  • 举报
回复
那个我看了,不是image
是个button,你好好找下他的handle吧
然后sendmessage(Hbutton,bm_click,0,0)
应该可以了
lx47 2004-04-05
  • 打赏
  • 举报
回复
gz
ADWARDS00 2004-04-05
  • 打赏
  • 举报
回复
我觉得不行
SetCursorPos(100,50);//会操作我当前的鼠标,但鼠标我在其他地方要用的
getcursorpos(pos);
Handle:=WindowFromPoint(Pos); //无法取得画出来的按钮的句并,这个函数返回的是画布的句并,所以下面发送消息的语句都发送到了画布,并没有发送到画布上的具体某一点上,我试过,走不通
SendMessage(Handle,WM_LBUTTONDOWN,0,0);
SendMessage(Handle,WM_LBUTTONUP,0,0);
这两点我觉得都好象走不通
godnoloveihavelove 2004-04-05
  • 打赏
  • 举报
回复
你没仔细看我给你得帖子吧,你在好好看看
ADWARDS00 2004-04-05
  • 打赏
  • 举报
回复
恩,最郁闷的事情发生了,那个按钮不是控件,是画出来的,晕了,我得到的句柄是整个画面的句柄,无法得到按钮的句柄,所以我的消息发送过去都不知道发送在哪点的坐标上了,结果是失败了,我试了自己做的界面上放BUTTON是可以的
yanghoyu 2004-04-03
  • 打赏
  • 举报
回复
http://www.hongen.com/pc/program/apitutor/api0006/api01.htm
yanghoyu 2004-04-02
  • 打赏
  • 举报
回复
用按键精灵不就行了吗?!
还要编程?!
ADWARDS00 2004-04-02
  • 打赏
  • 举报
回复
恩,能够得到,那之后如何做呢,把这个句并保存起来?然后用SendMessage(这个句并, WM_LBUTTONDOWN,0,0);好象不行,能给详细点吗
windindance 2004-04-02
  • 打赏
  • 举报
回复
WindowFromPoint可以获取窗体上某个点的句柄。
godnoloveihavelove 2004-04-02
  • 打赏
  • 举报
回复
做一个隐藏窗体,在CREATE时候放到最前面,这个怎么写很容易
application.ShowMainForm:=false;
setwindowpos(handle,HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or SWP_NOSIZE);
然后你放个TTimer在那上面
procedure Tfrmmain.Timer1Timer(Sender: TObject);
var
Pos: TPoint;
Handle: HWND;
begin
SetCursorPos(100,50);
getcursorpos(pos);
Handle:=WindowFromPoint(Pos);
SendMessage(Handle,WM_LBUTTONDOWN,0,0);
SendMessage(Handle,WM_LBUTTONUP,0,0);
end;
这样写应该可以满足你的要求了,不过你什么公司啊,事情挺好玩的啊
ADWARDS00 2004-04-01
  • 打赏
  • 举报
回复
SendMessage(hwndNotepad, WM_LBUTTONDOWN,0,0);
SendMessage(hwndNotepad, WM_LBUTTONUP,0,0);
这两句话可以完成对指定窗口的单击,但是这样还不够,我需要达到可以对指定窗口的"某点坐标"的单击,现在关键在于这个某点坐标改如何搞定,我操作的窗口并非当前活动窗口
ADWARDS00 2004-04-01
  • 打赏
  • 举报
回复
晕,窗体的句并我是知道的,我应该说得很明白了啊,你看看上面的话
windindance 2004-04-01
  • 打赏
  • 举报
回复
用WindowFromPoint 获取该点句柄
然后发送
ADWARDS00 2004-04-01
  • 打赏
  • 举报
回复
或者你们有更好的方法也可以啊,我是想通过发送消息的形式,因为我用
SendMessage(hwndNotepad, WM_LBUTTONDOWN,0,0);
SendMessage(hwndNotepad, WM_LBUTTONUP,0,0);
可以实现点击操作,但是就是不知道如何控制点击的位置,所以想先定位到位置,然后执行点击
加载更多回复(7)

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧