请问怎么往一个应用程序中的所有窗口发送消息(例如浏览器,同时打开几个页面) 前提是我没有获取到所有窗口的句柄
我的应用程序是一个 文本文件浏览器,同时打开多个文档进行修改(转码),单个文件修改可以:
::SendMessage(hWnd,WM_COMMAND, parameter, 0); //hWnd是该文件窗口的句柄,parameter为参数。而我想在没有获取所有窗口句柄下,现实所有窗口同时实现该命令。 请问有没有好的方法?
我的应用程序是一个 文本文件浏览器,同时打开多个文档进行修改(转码),单个文件修改可以:
::SendMessage(hWnd,WM_COMMAND, parameter, 0); //hWnd是该文件窗口的句柄,parameter为参数。而我想在没有获取所有窗口句柄下,现实所有窗口同时实现该命令。 请问有没有好的方法?
解决方案 »
- vc6.0 RichEdit 控件添加后 程序无法运行(win32应用程序)
- ODBC跟踪无法捕获sql语句,请指教
- 在DX9中图形旋转后留下了影子怎么解决
- [求助]关于更改MULTILINE_EDIT控件中显示行距的问题
- 求助:关于用atl生成的控件其输入控件在ie中输入中文变成了乱码
- ado对sqlserver连接的问题
- 为什么我用__dllspec(dllexport)做的dll导出函数,用工具查看怎么有怪符号?
- MSDN中的例程为什么编译时出了不少错!我是VC新手,请多帮助?
- 求助:怎么才能在我自己写的程序里打开WORD和EXCEL
- 初学者的问题:什么是SDK,请推荐几本相关的好书。
- sdk c 记事本
- MFC多文档框架下,为什么还是不能显示多文档窗口?
向系统中所有的顶层窗口发送消息。包括不激活的、不显示、不是自己的、层叠的窗口,但不能发送的其子窗口。
我试过往该线程发送消息PostThreadMessage()也不行
你必须枚举那个窗口的子窗口,给具体的句柄发,没有别的办法。
不过如果你想控制浏览器,建议用COM接口,消息有很多局限,很多功能实现不了。
PostThreadMessage肯定不行,不能跨进程发线程消息。
请问枚举子窗口,有什么函数可以调用呢? 其实我只是具体浏览器,我做的是在notepad++源码基础上修改,希望转码时,实现所有打开文档转码。 我只能获取到当前视图窗口的句柄。 我应该怎么做才能获取其余的窗口句柄呢?
HWND hWndParent, // handle to parent window
WNDENUMPROC lpEnumFunc, // pointer to callback function
LPARAM lParam // application-defined value
);