VC编程常见问题解答与实例
需积分: 10 174 浏览量
更新于2024-08-01
5
收藏 155KB DOC 举报
本文档主要针对VC(Visual C++,Microsoft的开发工具套件)开发过程中遇到的四个常见问题进行详细解答和讨论。这些问题包括获取应用程序主窗口的指针、确定应用程序的路径、在程序中获取其他程序的图标以及获得各种目录信息。
首先,关于获取应用程序主窗口的指针,CWinThread类中的成员变量m_pMainWnd通常存储了这个信息。开发者可以通过调用AfxGetMainWnd()函数来访问这个指针,例如`AfxGetMainWnd()->ShowWindow(SW_SHOWMAXMIZED)`,这将使程序最大化显示。这个操作对于管理窗口状态和控制窗口行为非常重要。
其次,确定应用程序的路径可以使用`GetModuleFileName`函数。这个函数接收NULL参数作为起始地址,返回当前运行的模块(即应用程序本身)的完整路径。获取路径后,可以通过去掉可执行文件名来得到所需的目录信息。
接下来,获取其他程序的图标有两种常用方法。一是使用SDK(System Development Kit)提供的`SHGetFileInfo`函数,它不仅可以获取图标资源的handle,还可以获取文件的相关信息,如大小、图标属性和类型。例如,在窗口中显示Notepad图标时,可以这样操作:
```cpp
void CSampleView::OnDraw(CDC* pDC)
{
if (SHGetFileInfo(_T("c:\\pwin95\\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);
}
}
```
最后,获取不同类型的目录信息,比如Windows目录和系统目录,可以分别使用`GetWindowsDirectory`函数和`"Windows\\System32"`路径。对于Windows 95,可能需要通过访问注册表获取更精确的路径,尤其是对于非标准安装或不同版本的Windows系统。
总结起来,这篇文档为VC开发者提供了在开发过程中处理关键问题的实用技巧和示例代码,涵盖了窗口操作、应用程序路径查找、图标获取和系统目录定位等方面,有助于提高开发效率和代码质量。
812 浏览量
2008-08-22 上传
2007-06-16 上传
2011-12-11 上传
2016-08-09 上传
2010-03-08 上传
2013-06-12 上传
2013-11-28 上传
2010-09-20 上传
zangtp
- 粉丝: 24
- 资源: 2
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章