求助!发送消息TTM_ADDTOOL 给 tooltip返回失败,但GetLastError()返回0

longjing_g 2008-04-21 06:36:29
同样代码在我自己写的exe运行正常,但是改成BHO(一个ie状态栏的图标及其tooltip)就无法正常工作了,哪位帮帮忙!

// Create a ToolTip.
HWND hwndTT = CreateWindowEx(WS_EX_TOPMOST,
TOOLTIPS_CLASS, NULL,
WS_POPUP | TTS_NOPREFIX | TTS_ALWAYSTIP,
CW_USEDEFAULT, CW_USEDEFAULT,
CW_USEDEFAULT, CW_USEDEFAULT,
hwndParent, NULL, g_hInst,NULL);

SetWindowPos(hwndTT, HWND_TOPMOST,
0, 0, 0, 0,
SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);

// Set up "tool" information.
// In this case, the "tool" is the entire parent window.
TOOLINFO ti = { 0 };
ti.cbSize = sizeof(TOOLINFO);
ti.uFlags = 0;
ti.hwnd = hwndParent;
ti.hinst = NULL;
ti.uId = 123477;
ti.lpszText = TEXT("This is your ToolTip string.");;
GetClientRect (hwndParent, &ti.rect);

// Associate the ToolTip with the "tool" window.
if(!::SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti))
{
DWORD dwErr = ::GetLastError();
ASSERT(0);
return NULL;
}
...全文
440 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
longjing_g 2008-05-06
  • 打赏
  • 举报
回复
盼高手恢复。
楼上的介绍一个方法给你,自己实现一个窗口,模拟tooltip,我是这么做的,表面还是可以的。
很想找到真正的方案。。。。。。
meiZiNick 2008-05-01
  • 打赏
  • 举报
回复
我也想知道,正在找這方面的資料~~~~~
UltraBejing 2008-04-30
  • 打赏
  • 举报
回复
等待牛人来答.
longjing_g 2008-04-28
  • 打赏
  • 举报
回复
if(!::SendMessage(hwndTT, TTM_ADDTOOL, 0, (LPARAM) (LPTOOLINFO) &ti))

这个出错,在具体我就不用问了
jameshooo 2008-04-23
  • 打赏
  • 举报
回复
具体的问题现象还没有描述清楚,没说哪块出错
longjing_g 2008-04-23
  • 打赏
  • 举报
回复
我注册了bho,在setsite里面枚举到状态栏的窗口,然后创建的,hwnd应该是没问题的,我在上面加的图标可以显示,spy得到的句柄也是相同的
cnzdgs 2008-04-22
  • 打赏
  • 举报
回复
这段代码在什么时候执行?hwndParent的值会不会有问题?
longjing_g 2008-04-22
  • 打赏
  • 举报
回复
感谢极为,不过这些都不是
uid 改小也没用,线程也是在同一个下面的,我在创建的时候有判断
DWORD dwThreadID = ::GetWindowThreadProcessId(hwnd, NULL);
if (dwThreadID == ::GetCurrentThreadId())
jameshooo 2008-04-21
  • 打赏
  • 举报
回复
看看状态栏窗口所在线程是否与BHO所在线程相同
cnzdgs 2008-04-21
  • 打赏
  • 举报
回复
你把uId改小一些(65535以内)试试。
cnzdgs 2008-04-21
  • 打赏
  • 举报
回复
SendMessage失败是没有错误码的,所以执行GetLastError没有意义。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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