社区
嵌入开发(WinCE)
帖子详情
WinCE中,基于对话框的程序,怎样拥有唯一的窗口类? 为了取得窗口句柄
zgw
2009-04-14 02:17:39
两个基于对话框的程序, GetClassName取得的窗口类名都是Dialog,两个窗口都没有标题,所以不能通过窗口标题,使用FindWindow取得窗口句柄。那么怎样取得窗口句柄?
...全文
224
11
打赏
收藏
WinCE中,基于对话框的程序,怎样拥有唯一的窗口类? 为了取得窗口句柄
两个基于对话框的程序, GetClassName取得的窗口类名都是Dialog,两个窗口都没有标题,所以不能通过窗口标题,使用FindWindow取得窗口句柄。那么怎样取得窗口句柄?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinlking
2009-04-15
打赏
举报
回复
[Quote=引用 7 楼 zjh824 的回复:]
如果这两个应用的程序可以改,把它们的类名改成不一样的,在需要更改类名的对话框资源上右击,选择“属性”,打开属性对话框,可以看到有一个名为“Class Name”的属性,我们在其中输入一个自己定义的名称(如“MyPrivateClassName”)即可。但是,MFC默认设置这个属性选项是灰色不可用的,我们先要开启它。切换到资源视图,右击根节点(如“XxxXxx.rc”),选属性,去掉勾选“Enable MFC Features”项(如果是VS.Net,把“MFC Mod…
[/Quote]
这种才是正解,改一下WNDCLASS的名字应该对文件影响不大,除非其他的地方也用到了这个名字,这个方法不行,就用zjh824的第二种方法
zgw
2009-04-15
打赏
举报
回复
[Quote=引用 8 楼 nick_TS16949 的回复:]
是MFC的程序吗?
那可以在OnInitDialog()中用SetWindowText(text)来设置窗口名。
然后在另一个需要查找这个窗口HANDLE的地方用HWND hwnd=::FindWindow(NULL,text)即可
如果是win32更简单了
在CreateWindow的时候使用text作为窗口名来创建窗口
[/Quote]
窗口没有标题栏
zgw
2009-04-15
打赏
举报
回复
[Quote=引用 7 楼 zjh824 的回复:]
如果这两个应用的程序可以改,把它们的类名改成不一样的,在需要更改类名的对话框资源上右击,选择“属性”,打开属性对话框,可以看到有一个名为“Class Name”的属性,我们在其中输入一个自己定义的名称(如“MyPrivateClassName”)即可。但是,MFC默认设置这个属性选项是灰色不可用的,我们先要开启它。切换到资源视图,右击根节点(如“XxxXxx.rc”),选属性,去掉勾选“Enable MFC Features”项(如果是VS.Net,把“MFC Mod…
[/Quote]
我用的eVC4.0
代码可以改,这样修改后,在模拟器里,程序无法启动。改回去,就好了。
nick_TS16949
2009-04-14
打赏
举报
回复
是MFC的程序吗?
那可以在OnInitDialog()中用SetWindowText(text)来设置窗口名。
然后在另一个需要查找这个窗口HANDLE的地方用HWND hwnd=::FindWindow(NULL,text)即可
如果是win32更简单了
在CreateWindow的时候使用text作为窗口名来创建窗口
zjh824
2009-04-14
打赏
举报
回复
如果这两个应用的程序可以改,把它们的类名改成不一样的,在需要更改类名的对话框资源上右击,选择“属性”,打开属性对话框,可以看到有一个名为“Class Name”的属性,我们在其中输入一个自己定义的名称(如“MyPrivateClassName”)即可。但是,MFC默认设置这个属性选项是灰色不可用的,我们先要开启它。切换到资源视图,右击根节点(如“XxxXxx.rc”),选属性,去掉勾选“Enable MFC Features”项(如果是VS.Net,把“MFC Mode property”项改为False)。这样就可以修改对话框的Class Name属性了。
如果这两个应用的程序代码不能修改,必须然后通过toolhelp32函数获得该进程的进程ID和模块名(exe文件名应该是已经的吧?),然,得到后enumwindow你想要的窗口句柄.
不要说两个程序的exe文件名也一样....
zgw
2009-04-14
打赏
举报
回复
[Quote=引用 5 楼 biaozai06 的回复:]
dlg.m_hWnd 即是该对话框的窗口句柄
[/Quote]
我要在一个进程内,取得另一个进程中的窗口的句柄。
biaozai06
2009-04-14
打赏
举报
回复
dlg.m_hWnd 即是该对话框的窗口句柄
zgw
2009-04-14
打赏
举报
回复
[Quote=引用 3 楼 ultrapro 的回复:]
每句这两个窗口的子窗口,用子窗口区分
[/Quote]
可以说得具体点吗?
这两个窗口属于两个不同的程序,不在同一程序内。
儿大不由爷
2009-04-14
打赏
举报
回复
每句这两个窗口的子窗口,用子窗口区分
papapa123123
2009-04-14
打赏
举报
回复
如果是固定窗口个数,直接指定就好了。就不用findwindow了
zgw
2009-04-14
打赏
举报
回复
使用 eVC4.0 MFC 开发
WINCE
无
窗口
程序
使用定时器
本文介绍在
WinCE
环境下,无
窗口
程序
如何利用SetTimer和timeSetEvent创建定时器。通过添加消息循环处理WM_TIMER消息或使用timeSetEvent实现更精确的定时。
在Windows Mobile和
Wince
(Windows Embedded CE)下进行Win32开发,取出
窗口
句柄
的方法
本文介绍在WindowsMobile和
Wince
环境下,如何使用Win32API通过EnumWindows()函数获取当前所有运行
中
进程的
窗口
句柄
。通过具体代码示例,展示了如何遍历并收集指定进程的所有
窗口
句柄
。
wince
界面技巧
本文探讨了
WinCE
环境下
对话框
及其子控件在不同情况下出现的闪烁问题及解决办法,涉及DOMODAL显示后的控件重绘问题、消息循环
中
的按键传递异常以及关闭子
对话框
时主
窗口
的闪烁现象。
单实例运行
程序
和SetEventData在非
WinCE
平台下的实现
这篇博客介绍了如何在非
WinCE
平台上实现单实例运行
程序
,并在现有
程序
运行时将其
窗口
提升到前端。作者通过创建事件和关联
窗口
句柄
,避免使用额外线程,利用QMUF
类
自定义实现了SetEventData功能,从而在Windows XP和Win7等系统上达到
类
似
WinCE
平台的效果。博客还提供了QMUF
类
的详细代码实现。
wince
6 两个应用
程序
进程间通信 OnCopyData
本文介绍了在
WinCE
6系统
中
,如何通过OnCopyData方法实现两个应用
程序
进程之间的通信。发送端利用FindWindow找到目标
窗口
,并通过WM_COPYDATA消息发送自定义数据;接收端在
类
中
定义并处理OnCopyData消息,接收到数据后显示在
对话框
中
。
嵌入开发(WinCE)
19,523
社区成员
41,565
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章