VB如何向指定窗口发送后台鼠标点击,窗口最小化后仍可工作?

canzai 2009-03-29 07:15:56
VB如何向指定窗口发送后台鼠标点击,窗口最小化后仍可工作?
比如窗口句柄为A
怎么写向窗口A的某个点发送鼠标点击,要后台的,窗口A在最小化的情况下仍然可以点击到。麻烦写个原码!

请帮帮忙,最好有代码实例,满意后再加分
...全文
3395 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjw_0413 2011-04-04
  • 打赏
  • 举报
回复
刚刚学这些东西,受教了
zzyong00 2010-09-05
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 qwertsa 的回复:]

myjian
你给出来!
有问题专门请你来解决!
[/Quote]
看这样子,是要给老马交学费啊
qwertsa 2010-01-24
  • 打赏
  • 举报
回复
myjian
你给出来!
有问题专门请你来解决!
etie 2009-04-03
  • 打赏
  • 举报
回复
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const BM_CLICK = &HF5
Private Const MK_LBUTTON = &H1

'其中hwnd是被点击控件的句柄,X,Y就是要点击的坐标(以被点击控件为基础不是以屏幕为基础)
PostMessage hwnd, BM_CLICK, MK_LBUTTON, y * 65536 + x
canzai 2009-04-02
  • 打赏
  • 举报
回复
在网上查了很多postmessage函数方面的资料还是不清楚Declare Function PostMessage& Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)后面参数中的wparam和lparam要怎么设置,所以才跑这来问问,没想到好像也没什么人会用postmessage发送鼠标单击的消息
嗷嗷叫的老马 2009-04-02
  • 打赏
  • 举报
回复
使用PostMessage.

Private Function SendClick(hwnd As Long, mX As Long, mY As Long) 
'发送点击消息
Dim I As Long

I = PostMessage(hwnd, WM_LBUTTONDOWN, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000)
I = PostMessage(hwnd, WM_LBUTTONUP, 0, (mX And &HFFFF) + (mY And &HFFFF) * &H10000)
End Function

调用SendClick,指定句柄,及相对坐标就可以了.
yanyinandd 2009-04-01
  • 打赏
  • 举报
回复
源码应该自己写啊,我想应该不是什么大问题,用Api向里面传事件,然后如果用户自己点,我想你需要自己处理用户在界面最小化时的点击事件了,还是用api向里面传。
slowgrace 2009-04-01
  • 打赏
  • 举报
回复
马呀,楼主都说了,他现在不追求最小化了,只要不是活动窗口就行了
嗷嗷叫的老马 2009-04-01
  • 打赏
  • 举报
回复
最小化后貌似wndProc暂时不再处理键盘鼠标重绘等消息了?

所以我猜,你投递消息过去也是木有用滴....
yin138 2009-03-31
  • 打赏
  • 举报
回复
与窗口的层次无关啊,因为你是向指定句柄的窗口发送消息,怎么会点到其它窗口之上呢?
canzai 2009-03-31
  • 打赏
  • 举报
回复
这样吧,哪位高手能帮我写个API函数postmessage的使用例子就可以了。。。。。
我在网上找了两天都没有用VB写的发送鼠标消息的代码例子
canzai 2009-03-30
  • 打赏
  • 举报
回复
那如果不是最小化的,而是一个被别的窗口遮住的窗口(也就是说是底层的窗口)呢?
canzai 2009-03-30
  • 打赏
  • 举报
回复
哦,我补充一下,除了要在不是当前活动窗口上模拟点鼠标,而且还要能在这个窗口的某一个点(如50,60)上产生这个鼠标事件
用PostMessage 虽然能模拟鼠标在某个点上点击,但如果要点击的这个窗口的位置被别的窗口遮住了,就会点到别的窗口上了,能否解决这个问题
love3153238 2009-03-30
  • 打赏
  • 举报
回复
但是无法最小化后运行
2楼已经说了原因了
love3153238 2009-03-30
  • 打赏
  • 举报
回复
Public Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

不懂可以给我分。我解释给你听
熊孩子开学喽 2009-03-30
  • 打赏
  • 举报
回复
都已经最小化了,点到哪里去呢? 这不是有点矛盾么
oyljerry 2009-03-29
  • 打赏
  • 举报
回复
最小化了,模拟点击是点击不到了,你可以发送其他消息或数据等来达到你点击同样的目的
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

1,488

社区成员

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

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