VC编程技巧与应用指南
需积分: 0 179 浏览量
更新于2024-07-30
收藏 331KB DOC 举报
"这篇文章主要汇总了VC++编程中的一些常用技术,包括获取应用程序主窗口指针、确定应用程序路径以及从其他程序中提取图标的两种方法。这些知识点对于深入理解和使用VC++开发Windows应用程序非常关键。"
在VC++编程中,掌握以下几个技术点是至关重要的:
1. **获取应用程序主窗口指针**:
在MFC框架下,应用程序的主窗口指针通常存储在`CWinThread::m_pMainWnd`成员中。要动态获取这个指针,可以调用全局函数`AfxGetMainWnd()`。例如,如果你想最大化主窗口,可以这样实现:
```cpp
AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED);
```
2. **确定应用程序的路径**:
使用API函数`GetModuleFileName()`可以获取当前应用程序的完整路径。为了获取仅包含路径的部分,你需要对返回的字符串进行处理,去除最后一个文件名部分。例如:
```cpp
TCHAR exeFullPath[MAX_PATH];
GetModuleFileName(NULL, exeFullPath, MAX_PATH);
// 去掉文件名,得到路径
// 这里省略了具体的处理步骤,一般会涉及到字符串操作
```
3. **获取其他程序的图标**:
- 方法一:使用`SHGetFileInfo` SDK函数,它可以提供包括图标在内的文件信息。以下示例展示了如何在程序窗口左上角显示记事本的图标:
```cpp
void CSampleView::OnDraw(CDC* pDC)
{
SHFILEINFO stFileInfo;
if (::SHGetFileInfo(_T("c:\\windows\\notepad.exe"), 0, &stFileInfo, sizeof(stFileInfo), SHGFI_ICON))
{
pDC->DrawIcon(10, 10, stFileInfo.hIcon);
}
}
```
- 方法二:使用`ExtractIcon`函数,它能直接从指定的可执行文件中提取图标。下面的代码也实现了相同的功能:
```cpp
void CSampleView::OnDraw(CDC* pDC)
{
HICON hIcon = ::ExtractIcon(AfxGetInstanceHandle(), _T("NotePad.exe"), 0);
if (hIcon && hIcon != (HICON)-1)
pDC->DrawIcon(10, 10, hIcon);
}
```
4. **注意事项**:
- 获得其他程序的路径时,如果需要访问特定版本的系统文件(如Windows 95下的程序),可能需要通过访问注册表来获取准确路径,因为直接使用文件路径可能会因操作系统版本差异而失效。
以上知识点都是VC++开发中常见的实践技巧,理解并熟练运用它们将有助于提高代码的效率和灵活性。在实际开发中,还需要注意错误处理和资源释放,例如释放从`SHGetFileInfo`或`ExtractIcon`获得的图标句柄,确保程序的稳定性和内存管理的正确性。
2012-09-02 上传
2012-09-12 上传
2013-08-20 上传
2023-06-05 上传
2023-06-05 上传
2023-06-05 上传
2023-11-14 上传
2023-06-07 上传
2023-09-25 上传
caochen158
- 粉丝: 0
- 资源: 30
最新资源
- 天池大数据比赛:伪造人脸图像检测技术
- ADS1118数据手册中英文版合集
- Laravel 4/5包增强Eloquent模型本地化功能
- UCOSII 2.91版成功移植至STM8L平台
- 蓝色细线风格的PPT鱼骨图设计
- 基于Python的抖音舆情数据可视化分析系统
- C语言双人版游戏设计:别踩白块儿
- 创新色彩搭配的PPT鱼骨图设计展示
- SPICE公共代码库:综合资源管理
- 大气蓝灰配色PPT鱼骨图设计技巧
- 绿色风格四原因分析PPT鱼骨图设计
- 恺撒密码:古老而经典的替换加密技术解析
- C语言超市管理系统课程设计详细解析
- 深入分析:黑色因素的PPT鱼骨图应用
- 创新彩色圆点PPT鱼骨图制作与分析
- C语言课程设计:吃逗游戏源码分享