社区
界面
帖子详情
如何获得窗口句柄啊?
wangfei913
2004-05-08 03:01:22
我用下面的语句创建hdc。
HWND hWnd;
HDC hdc;
hdc=GetDC(hWnd);
运行是提示错误hdc=NULL;
是不是窗口句柄没获得啊?
那hwnd的值怎么获得啊?用什么函数或者是怎么?
谢了
...全文
128
12
打赏
收藏
如何获得窗口句柄啊?
我用下面的语句创建hdc。 HWND hWnd; HDC hdc; hdc=GetDC(hWnd); 运行是提示错误hdc=NULL; 是不是窗口句柄没获得啊? 那hwnd的值怎么获得啊?用什么函数或者是怎么? 谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mingbao
2004-07-15
打赏
举报
回复
估计你应该是想得到其它窗口的句柄, 如楼主所言 Hwnd=FindWindow(窗口类型,标题)
而且就算想找代码所在的窗口,这个方法也适用的.
当然也可以用 窗口自身的成员变量 m_hWnd ,它保存所在窗口的句柄.
但 GetDlgItem(ID--) 是不行的, 它返回窗口的指针
赖勇浩
2004-07-15
打赏
举报
回复
哈哈,你要的是一个其它窗口的hWnd吧,用FindWindow(),它的返回值就是了。
victorydsk
2004-07-15
打赏
举报
回复
pWnd->GetSafeHwnd()
即可。
yeedward
2004-07-14
打赏
举报
回复
HWND hWnd;
HDC hdc;
hdc=hWnd.GetSafeHdc();
lixiaosan
2004-07-13
打赏
举报
回复
CDC *pDC = GetDC();
pingguigui
2004-07-13
打赏
举报
回复
The GetDlgItem function retrieves the handle of a control in the specified dialog box.
GetDlgItem好像是获得窗口里控件的句柄,不是窗口的句柄啊
窗口的句柄如何获得啊
cancan71012
2004-07-13
打赏
举报
回复
方法1 :获取m_hWnd全局变量;
方法2:GetDlgItem(IDC——);
magicchen
2004-07-13
打赏
举报
回复
靠,CWnd及其派生类都有一个叫做m_hWnd的成员变量来存放自身的窗口句柄,你试试,应该不会有问题
名牌大灰狼
2004-07-13
打赏
举报
回复
GetSafeHwnd
windyloft
2004-07-13
打赏
举报
回复
GetSafeHwnd
ygzdev
2004-05-08
打赏
举报
回复
嘿嘿,HWND hWnd=GetDlgItem(IDC_EDIT);懂了吧,给分吧
Developerljm
2004-05-08
打赏
举报
回复
m_hWnd
GetSafeHwnd
窗口
句柄
获取教程
窗口
句柄
获取及API的调用: .版本 2 .程序集
窗口
程序集1 .子程序 _按钮_点击按钮_被单击 .局部变量 父
窗口
句柄
, 整数型 .局部变量 编辑框
窗口
句柄
, 整数型 .局部变量 按钮
窗口
句柄
, 整数型 .局部变量 临时文本, 文本型 父
窗口
句柄
= 寻找子
窗口
_ (0, 0, 取空白文本 (0), “外部程序”) 按钮
窗口
句柄
= 寻找子
窗口
_ (父
窗口
句柄
, 0, “Button”, “按钮”) 发送消息整数 (按钮
窗口
句柄
, 513, 5, 5) 发送消息整数 (按钮
窗口
句柄
, 514, 5, 5) ' 513是鼠标左键按下 ' 514是鼠标左键弹起
通过进程ID找到
窗口
句柄
.
通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.通过进程ID找到
窗口
句柄
.
CreateProcess调用后,
获得
主
窗口
句柄
用CreateProcess创建进程后,得到主
窗口
句柄
。
VC进程ID
获得
主
窗口
句柄
获得
进程名
VC
获得
进程ID
获得
主线程ID
获得
窗口
句柄
获得
主
窗口
获得
进程名 1.
窗口
类名
窗口
句柄
窗口
标题
窗口
句柄
HWND FindWindow( LPCTSTR lpClassName, //
窗口
类名 可用 VC或者VS自带的Spy++查看 LPCTSTR lpWindowName //
窗口
标题 ); 举例: 以 记事本为例, 记事本
窗口
类名 为:NotePad,
窗口
标题 视按具体情况而定,假设为"新建 文本文档.txt - 记事本"
窗口
类名
窗口
句柄
TCHAR lpClassName[]=TEXT("NotePad"); HWND hWnd=::FindWindow(lpClassName,NULL); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE);
窗口
标题
窗口
句柄
TCHAR lpWindowName[]=TEXT("新建 文本文档.txt - 记事本"); HWND hWnd=::FindWindow(NULL,lpWindowName); if(hWnd && IsWindow(hWnd)) ::ShowWindow(hWnd,SW_HIDE); 2.
窗口
句柄
进程ID
窗口
句柄
主线程ID 要使用到的函数: DWORD GetWindowThreadProcessId( HWND hWnd, //目标
窗口
句柄
LPDWORD lpdwProcessId //返回目标
窗口
对应进程ID ); 例子: DWORD dwProcId=0;//存放返回的进程ID DWORD dwThreadId=0;//存放返回的主线程ID HWND hWnd=XXXX;//这里省略,可能用任务方式得到一个
窗口
的
句柄
.比如用1中的方法. dwThreadId=GetWindowThreadProcessId(hWnd,&dwProcId);//同时得到进程ID和主线程ID. 3.
窗口
HAND CWnd 用CWnd::FromHandle(HWND hWnd)函数.很多类都有这个函数. 4.进程名 进程ID (注:进程名,即在"任务管理器"中看到的名字) 用CCheckObject类(详细实现源文件); 例子: 以记事本为例,进程名为 NOTEPAD.EXE (不一定是大写哦,得到任务管理器是显示而定); CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwProcId=ch.GetProcessId(Name); 5. 进程名 主线程ID 例子: CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); DWORD dwThreadId=ch.GetThreadId(Name); 6. 进程名 主
窗口
句柄
CCheckObject ch; TCHAR Name[]=TEXT("NOTEPAD.EXE"); HWND hWnd=ch.GetTargetWindowHanle(Name); 7. 其它说明 从CCheckObject类和上面的源码中,不难写出从 进程ID 主线程ID 进程ID 主
窗口
句柄
主线程ID--->主
窗口
句柄
等等其它类似转换. 对于主
窗口
,特点如下: A. 不能用进程ID,要用线程ID,因为一个进程可能有多个线程,每个线程都可能会有主
窗口
. B. 主
窗口
不会有WS_CHILD属性 C. 主
窗口
没有父
窗口
D. 主
窗口
一般都有子
窗口
(这个不是一定的,但是具有普遍性)
qml
窗口
句柄
的获取以及QWidget嵌入到QML
窗口
获取到qml
窗口
句柄
的方法,以及怎样将QWidget嵌入到获取到的qml
窗口
中
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章