VC++编程获取窗口句柄的方法小结
本文实例讲述了VC++编程获取窗口句柄的方法。分享给大家供大家参考,具体如下:
在VC++编程中常需获取控件或窗体句柄,下面总结了几种方法,还希望大家能多多补充。
1、自身窗口句柄可用AfxGetMainWnd获取。
2、系统中其他APP的窗口句柄可用FindWindow获取(用SPY帮一下忙).
HWND hBtnClose; HWND hWnd=::FindWindow(NULL,"腾讯QQ系统广播"); if(hWnd) { hBtnClose=GetDlgItem(hWnd,2); if(hBtnClose) PostMessage(hBtnClose,BM_CLICK,NULL,NULL); }
3、通过指针获取窗口句柄
HWND hwnd = pwnd->m_hwnd; //得到它的HWND,对象或指针都可以
4、当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()
函数;
5、
HWND GetDlgltem(HWND hDlg,int nlDDlgltem);
6、通过控件ID号获取。
CListCtrl* pleftList = (CListCtrl* )GetDlgItem(IDC_LIST1); pleftList->GetSafeHandl();
希望本文所述对大家VC++程序设计有所帮助。
相关推荐
-
VC小技巧汇总之窗口技巧
本文搜集汇总了VC小技巧的窗口技巧,对于VC程序开发的窗口设计而言有一定的借鉴价值,详情如下: 1.让窗口一启动就最大化 把应用程序类(CxxxApp)的 InitInstance() 函数中的 m_pMainWnd->ShowWindow(SW_SHOW); 改为 m_pMainWnd->ShowWindow(SW_SHOWMAXIMIZED); 则窗口一启动就最大化显示. 2.如何设置窗口的初始尺寸 在将应用程序类(CxxAPP)的 InitInstance() 函数中加入: m_pMai
-
用VC++6.0的控制台实现2048小游戏的程序
首先感谢这位大侠的无私分享,仔细学习这个程序以后收获很多,试着添加一些注释 源程序是从开源中国看到的,原作者是 刘地(sir?) 地址为http://www.oschina.net/code/snippet_593413_46040 geek_monkey于2015年3月5日为拜读该程序,受益匪浅 为了方便自己,以及更多初学者阅读,我试着写了写了注释供参考 我是C语言初学者,如有错误希望指正.轻喷 复制代码 代码如下: #include <stdlib.h> #include <stdi
-
在VC中隐藏控制台程序窗口的实现代码
下面就介绍一下,如何隐藏win32 console application的console窗口因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译器的链接开关选项(也就是linker选项).首先我们来看一下linker的 /subsystem 选项该选项的语法形式如下: /subsystem:{console|efi_application|efi_boot_service_driver|efi_rom|efi_runtime_driver|native|posix|window
-
C++获取任务栏打开程序窗口示例
复制代码 代码如下: // File: OpenProgramOnTaskbar.h #pragma once#include <vector> struct TaskInfo { // 程序名称 CString strProgramName; // 窗口句柄 HWND hWnd;}; class TaskbarInfo{public: // 回调函数 static BOOL CALLBACK EnumWindowProc(HWND hWnd, LPARAM lP
-
VC实现对话框窗口任意分割
个人认为简单问题最好就是直接贴源代码,一看就明白,说来说去反而弄不清楚,那我就少废话了,自己看吧,注释很清楚. 先来张图片 1. 新建一个MFC对话框程序MySplitterDlg. 再插入两个Dialog资源 ,这里一定要选择IDD_FORMVIEW类别的对话框,分别新建类CMyFormView0 和CMyFormView1,基类别选CDialog,一定要选择CFormView. 2. CMySplitterDlg中增加WM_CREATE的消息响应,编辑OnCreate() int CMySp
-
VC6实现激活后台窗口最佳方法
本文实例讲述了VC6实现激活后台窗口最佳方法.分享给大家供大家参考.具体实现方法如下: //激活窗口 SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE); SetWindowPos(&wndNoTopMost, 0, 0, 0, 0, SWP_NOSIZE|SWP_NOMOVE); HWND hCurWnd = NULL; DWORD lMyID; DWORD lCurID; hCurWnd = ::GetForegro
-
C++ 中CloseHandle 函数--关闭一个句柄
CloseHandle函数 作用 关闭一个打开的对象句柄. 语法 BOOL WINAPI CloseHandle( _In_ HANDLE hObject ); 参数 hObject 已经打开的有效对象句柄. 返回值 如果函数操作成功,返回值为非零值 如果函数操作失败,返回值为零. 注意: (1)句柄不应该被关闭两次: (2)可以关闭的句柄有控制台输入.控制台屏幕缓冲区等. 头文件 Winbase..h(包括Windows.h) 参考来源:来源:https://msdn.microsoft.co
-
VC++实现输出GIF到窗体并显示GIF动画的方法
本文讲述了VC++在窗体中显示GIF动画的方法,这是主要代码部分,在这段代码中,VC++将使用GDI技术加载GIF图像,定义GUID数组.定义指针.初始化各成员变量.释放属性对象.释放GUID等资源等. 代码如下: //加载GIF文件 void COutputGIFDlg::OnBrowse() { CFileDialog flDlg(TRUE, "", "", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, "GIF|*.
-
VC实现A进程窗口嵌入到B进程窗口中显示的方法
本文通过一个Demo示例讲述把A应用程序嵌入到B应用程序中显示的方法. 主要代码如下: //在B应用启动时创建A进程 CreateProcess(_T("A.exe"),NULL,NULL,NULL,FALSE,CREATE_NEW_CONSOLE,NULL,NULL,NULL,NULL); Sleep(30); HWND hWndChild = FindWindow(_T("AAA"),_T("AAA")); while(!hWndChild)
-
C++之CWnd窗口框架实例
本文实例讲述了CWnd窗口框架,分享给大家供大家参考.具体分析如下: .h头文件代码如下: 复制代码 代码如下: #include <afxwin.h> class CMyApp:public CWinApp { public: virtual BOOL InitInstance(); }; //CMainWindow class CMainWindow:public CWnd { public: CMainWindow(); ~CMain
随机推荐
- swift where与匹配模式的实例详解
- 伯乐asp收信程序漏洞及利用程序利用代码
- IntelliJ IDE运行Tomcat报错解决办法
- ASP.NET中MVC从后台控制器传递数据到前台视图的方式
- 用js实现的自定义的对话框的实现代码
- js判断样式className同时增加class或删除class
- PHP中用header图片地址 简单隐藏图片源地址
- php $_ENV为空的原因分析
- 详解Python的单元测试
- 编写Python脚本抓取网络小说来制作自己的阅读器
- python3.5 + PyQt5 +Eric6 实现的一个计算器代码
- C#中委托用法实例详解
- 对MySQL中字符集的相关设置操作的基本教程
- MySQL性能参数详解之Skip-External-Locking参数介绍
- js实现本地时间同步功能
- ajax(iframe)无刷新提交表单、上传文件
- javascript实现3D变换的立体圆圈实例
- 简单的远程FTP定时备份Shell脚本分享
- JS辨别访问浏览器判断是android还是ios系统
- nginx: [warn] "log_format" directive used only on "http" level 解决方法