|
extern "C" __declspec(dllexport) int GetButtnsCount(HWND BCGhwnd)
{
int buttons = 0;
CBCGPToolBar pCWnd;
pCWnd.Attach(BCGhwnd);
buttons = pCWnd.GetCount();
pCWnd.Detach();
Return buttons;
}
我查了很多,这方面资料很少,或者其他可行的方法也好
补充1: 这个接口已经可以正常调用了,只是返回值总是0. 做这个的目的是想更精确地定位BCG工具条按钮,不管工具条在哪里,和工具条大小,顺序。 如果有好的其他实现的方法,欢迎指教。
2010-01-23: 直接使用上面的方法应该是不可以了,由于不在同一进程,调用的也不是WINDOWS标准方法,即使有BCG的源码也不可以。在网上找了很久,以及根据大家的回复,把问题重心方在HOOK上,上周我用BCG提供的WORDPAD作为测试对象,自己写了一个 MESSAGE HOOK, 可以改变工具条名称(WINDOWTITLE),但还是没有能够调用BCGTOOLBAR的方法(如GetCount()),如果通过工具条对象指针调用,WORDPAD就挂掉了。 看来这个问题还有得折腾。希望有知道的朋友能多指点一下。
2010-01-29: 方法很简单, 发一个TB_BUTTONCOUNT消息过去就OK了, 折腾了我这么长时间, 还是对windows和VC基础不牢的缘故啊
[ 本帖最后由 CHJBBG 于 2010-1-29 18:29 编辑 ] |
|