如何得到TOOLbar上某个按钮的句柄,然后给这个按钮发一个点击的消息

wcm 2009-08-06 01:57:47
各位好
我已经知道TOOLBAR的句柄了,但是我如何得到TOOLbar上某个按钮的句柄,然后用sendmessage给这个按钮发一个点击的消息
请各位直接给代码 谢谢了 搞了一天了
...全文
792 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
不懂,顶一下.

1,488

社区成员

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

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