VC(MFC)编程技巧精华集:108招

需积分: 7 2 下载量 41 浏览量 更新于2024-07-31 收藏 135KB DOC 举报
"VC(MFC) 常用技巧总结 - 108条" 在VC++编程中,MFC(Microsoft Foundation Classes)是一个强大的库,用于构建Windows应用程序。这里是一些关于VC++和MFC的实用技巧: 1. 获取应用程序主窗口指针: 主窗口的指针在`CWinThread`类的成员变量`m_pMainWnd`中存储。你可以使用全局函数`AfxGetMainWnd()`来获取这个指针,并进行后续操作,例如最大化窗口: ```cpp AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED); // 使程序最大化 ``` 2. 确定应用程序的路径: 使用API函数`GetModuleFileName()`可以获取当前运行程序的完整路径,包括可执行文件名。如果只想得到路径,可以将文件名截取掉。示例: ```cpp TCHAR exeFullPath[MAX_PATH]; GetModuleFileName(NULL, exeFullPath, MAX_PATH); // 移除文件名,只保留路径 _splitpath_s(exeFullPath, NULL, 0, NULL, 0, NULL, 0, NULL, 0); ``` 3. 获取其他程序的图标: - 方法一:使用SDK函数`SHGetFileInfo()`,它可以返回文件的图标句柄以及其他信息。 ```cpp SHFILEINFO stFileInfo; if (SHGetFileInfo(_T("c:\\pwin95\\notepad.exe"), 0, &stFileInfo, sizeof(stFileInfo), SHGFI_ICON)) { CDC* pDC = // 获取绘图设备上下文 pDC->DrawIcon(10, 10, stFileInfo.hIcon); } ``` - 方法二:使用`ExtractIcon()`函数直接提取图标资源。 ```cpp HICON hIcon = ExtractIcon(AfxGetInstanceHandle(), _T("NotePad.exe"), 0); if (hIcon && hIcon != (HICON)-1) { CDC* pDC = // 获取绘图设备上下文 pDC->DrawIcon(10, 10, hIcon); } ``` 注意,获取其他程序的路径时,应根据具体系统环境(如Windows版本)和目标程序的位置(如系统目录或自定义目录)选择适当的方法。 4. 获取各种目录信息: - Windows目录:使用`GetWindowsDirectory()`函数。 - Windows下的System目录:使用`GetSystemDirectory()`函数。 这两个API函数分别用于获取Windows安装目录和System目录的路径。 这只是MFC编程中的一小部分技巧,实际开发中还有更多高级主题,如对话框控件的自定义、消息处理、数据库访问、网络编程、多线程以及性能优化等。学习和掌握这些技巧可以帮助开发者更高效地编写和维护MFC应用程序。