社区
进程/线程/DLL
帖子详情
MFC 如何通过子进程句柄获取子窗口句柄
一只小水鱼
2013-09-30 03:04:52
如题。
我在MFC中用CreateProcess启动一个外部程序,这个程序是写好的、无法修改的
我现在想用SendMessage()的方式给这个外部程序发送WM_CLOSE信号,
但是这个函数需要有外部程序的窗口句柄。
我只有从CreateProcess函数取得的外部程序的进程句柄,
我要怎么样才能获得外部程序的窗口句柄?
我知道要用FindWindowEx()函数,但是函数参数该怎么填?
...全文
554
6
打赏
收藏
MFC 如何通过子进程句柄获取子窗口句柄
如题。 我在MFC中用CreateProcess启动一个外部程序,这个程序是写好的、无法修改的 我现在想用SendMessage()的方式给这个外部程序发送WM_CLOSE信号, 但是这个函数需要有外部程序的窗口句柄。 我只有从CreateProcess函数取得的外部程序的进程句柄, 我要怎么样才能获得外部程序的窗口句柄? 我知道要用FindWindowEx()函数,但是函数参数该怎么填?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
encoderlee
2013-09-30
打赏
举报
回复
另外CreateProcess好像返回目标线程ID吧,那样就可以直接对该ID调用EnumThreadWindows
encoderlee
2013-09-30
打赏
举报
回复
你用VC自带的SPY++工具就能看到外部程序的窗口标题和窗口类名了
真相重于对错
2013-09-30
打赏
举报
回复
通过进程id获取窗口
一只小水鱼
2013-09-30
打赏
举报
回复
引用 1 楼 VisualEleven 的回复:
FindWindow(NULL,_T("xxx")); // 第二个参数传递想要找的窗口个标题
问题是 窗口标题在哪里找? 我那个是外部程序,网上下载的,窗口标题怎么获取?
Eleven
2013-09-30
打赏
举报
回复
也可以EnumWindows枚举窗口得到HWND,利用GetWindowThreadProcessId得到进程的ID,然后与你PROCESS_INFORMATION中pi的ID相对比,相等即找到了。
Eleven
2013-09-30
打赏
举报
回复
FindWindow(NULL,_T("xxx")); // 第二个参数传递想要找的窗口个标题
MFC
常用
获取
句柄
函数讲解
一般我们使用的框架是VC提供的Wizard生成的
MFC
App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和
句柄
获取
和操作问题。本文中将针对各类
句柄
的获得、指针的获得以及
MFC
中常见应用进行阐述并举例。 本文内容索引: =========================================================
MFC
中
获取
常
MFC
单文档视图中嵌入GLFW
窗口
开始学习OpenGL由于有一段时间,但是glfw只有
窗口
区,虽然通过某种手段(移步这里)可以加入工具栏,但仍然无法作为一个标准的GUI,而直接在
MFC
或Qt里面使用OpenGL API感觉有诸多制肘,各有利弊,所以打算将其嵌入GUI框架,此处以
MFC
为例 参考博文:https://blog.csdn.net/sunbibei/article/details/51783783 1、准备...
MFC
调用win32
窗口
显示调试信息,使用AllocConsole 函数
AllocConsole Function 为主调进程分配一个新的控制台。 语法 C++ : BOOL WINAPI AllocConsole(void); 参数: 无 返回值:如果函数成功,返回值是非零值;如果函数失败,返回值是零值。 备注: 一个进程仅能关联一个控制台,所以该函数在主调进程已经具有控制台时将会失败。 一
MFC
进程间通信实战:匿名管道实现父
子
进程
双向数据流
进程间通信(IPC)是操作系统协调多个进程协同工作的核心技术,其核心原理在于通过内核提供的共享资源或消息传递机制,实现数据交换与状态同步。在Windows平台,IPC技术价值在于解耦进程、提升系统稳定性与模块化程度,广泛应用于监控管理、插件架构、服务调用等场景。匿名管道作为一种轻量级IPC机制,基于内核缓冲区实现单向字节流通信,特别适用于具有亲缘关系的父
子
进程
间通信。在
MFC
桌面开发中,通过CreatePipe创建管道、合理设置
句柄
继承属性,并利用CWinThread工作线程与消息映射实现异步读写,可以构建
MFC
子
进程
窗口
置顶
主进程启动
子
进程
,然后如果主进程处于焦点状态,结果
子
进程
窗口
会被遮挡。 弄了好久终于找到一种方法:(单文档模式,不适合单对话框模式) 先置顶: ::SetWindowPos(m_pMainWnd->m_hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE|SWP_NOSIZE);//
窗口
最顶层 然后在取消置顶: ::SetWindowPos(m_pM...
进程/线程/DLL
15,465
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章