社区
API
帖子详情
如何得到TOOLbar上某个按钮的句柄,然后给这个按钮发一个点击的消息
wcm
2009-08-06 01:57:47
各位好
我已经知道TOOLBAR的句柄了,但是我如何得到TOOLbar上某个按钮的句柄,然后用sendmessage给这个按钮发一个点击的消息
请各位直接给代码 谢谢了 搞了一天了
...全文
805
12
打赏
收藏
如何得到TOOLbar上某个按钮的句柄,然后给这个按钮发一个点击的消息
各位好 我已经知道TOOLBAR的句柄了,但是我如何得到TOOLbar上某个按钮的句柄,然后用sendmessage给这个按钮发一个点击的消息 请各位直接给代码 谢谢了 搞了一天了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
coffee54676
2009-08-14
打赏
举报
回复
麻烦的很
取得toolbar句柄,然后取得按钮ID ,用sendmessage 发送wm_command 给这个按钮ID,理论上是这样,不过我没有试成功过。
===
下面是dephi写的,据说可以,自己看看
uses CommCtrl, Types; function ToolbarButtonClick( // 模拟点击其他进程的Toolbar按钮 mHandle: THandle; // Toolbar句柄
mIndex: Integer // 按钮序号 ): Boolean;
//设计 Zswang 2006-11-13 wjhu111#21cn.com 尊重作者,转贴请注明出处
var vRect: TRect;
vSmallPoint: TSmallPoint;
vProcessId: DWORD;
vProcess: THandle;
vPointer: Pointer;
vNumberOfBytesRead: Cardinal;
begin Result := False;
if mHandle <= 0 then Exit;
GetWindowThreadProcessId(mHandle, @vProcessId);
if vProcessId <= 0 then Exit;
vProcess := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE, False, vProcessId);
vPointer := VirtualAllocEx(vProcess, nil, $1000, MEM_RESERVE or MEM_COMMIT, PAGE_READWRITE);
try SendMessage(mHandle, TB_GETITEMRECT, mIndex, Integer(vPointer)); ReadProcessMemory(vProcess, vPointer, @vRect, SizeOf(TRect), vNumberOfBytesRead); if vNumberOfBytesRead <= 0 then Exit;
finally VirtualFreeEx(vProcess, vPointer, 0, MEM_RELEASE); CloseHandle(vProcess); end;
vSmallPoint := PointToSmallPoint(CenterPoint(vRect));
SendMessage(mHandle, WM_LBUTTONDOWN, MK_LBUTTON, Longint(vSmallPoint));
SendMessage(mHandle, WM_LBUTTONUP, MK_LBUTTON, Longint(vSmallPoint));
Result := True;
end; { ToolbarButtonClick }
wcm
2009-08-07
打赏
举报
回复
有没有人帮助啊
wcm
2009-08-06
打赏
举报
回复
兄弟们啊,那我该如何做啊,请帮助我啊,一定帮助啊
SYSSZ
2009-08-06
打赏
举报
回复
用spy++查看一下,TOOLBAR的子窗口句柄为0,子窗口列表为空,因此,一般窗口操作不解决问题.
wcm
2009-08-06
打赏
举报
回复
请再帮助
wcm
2009-08-06
打赏
举报
回复
好像,无法得到lngControl ,调式后的值为0 请再帮助
junki
2009-08-06
打赏
举报
回复
Private Const WM_LBUTTONDOWN = &H201
lngControl = FindWindowEx(lngWindow, 0, "Button", "取消")
lngRet = SendMessage(lngControl, WM_LBUTTONDOWN, 0, 0&)
'lngWindow为TOOLbar的句柄
'lngControl为按钮句柄
wcm
2009-08-06
打赏
举报
回复
兄弟们 给点办法啊 :(
wcm
2009-08-06
打赏
举报
回复
如果没有按钮 那么如何给这个按钮发消息啊
wcm
2009-08-06
打赏
举报
回复
各位帮忙啊,不要沉没啊
倒大霉的上帝
2009-08-06
打赏
举报
回复
toolbar的按钮没有句柄
lxq19851204
2009-08-06
打赏
举报
回复
不懂,顶一下.
MFC 动态添加
按钮
MFC 动态添加
按钮
,并有响应函数 动态添加图片
精彩编程与编程技巧-放
一个
Combo到
Toolbar
中...
精彩编程与编程技巧-放
一个
Combo到
Toolbar
中 ...
工具栏上设置下拉
按钮
在vc6.0下测试正常 此代码适合广大新手同志 并且有详细注释! 建议大家一起在百度C++贴吧一起讨论
toolbar
-Multi-document.rar_
Toolbar
本程序实现了在多文档界面中可进行自由切换的工具条
易语言近在眼前置工具条
按钮
标题
易语言近在眼前置工具条
按钮
标题源码,SendMessage
API
1,488
社区成员
23,270
社区内容
发帖
与我相关
我的任务
API
VB API
复制链接
扫一扫
分享
社区描述
VB API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章