VC++新手指南:关键问题与解答

需积分: 0 3 下载量 68 浏览量 更新于2024-07-29 收藏 132KB DOC 举报
本文档主要针对初学者介绍了Visual C++ (VC++)编程中的一些常见问题,包括如何获取应用程序主窗口的指针、确定应用程序的路径、在程序中获取其他程序的图标以及如何获得各种目录信息。以下是详细解读: 1. **获取应用程序主窗口指针**: 在VC++中,应用程序的主窗口指针通常存储在CWinThread对象的成员变量m_pMainWnd中。要显示或操作主窗口,可以调用AfxGetMainWnd()函数获取这个指针,并进一步执行操作,如`AfxGetMainWnd()->ShowWindow(SW_SHOWMAXIMIZED)`,这会将窗口最大化。 2. **确定应用程序路径**: 使用`GetModuleFileName()`函数可以获取当前运行程序的完整路径,传入NULL作为参数代表当前进程,然后截取路径信息。例如,通过`TCHAR exeFullPath[MAX_PATH]; GetModuleFileName(NULL,exeFullPath,MAX_PATH)`,可以得到程序的存放位置。 3. **获取其他程序图标**: 获取其他程序的图标有两种方法: - 使用`SHGetFileInfo()`函数可以从文件路径中获取图标资源的句柄,如`::SHGetFileInfo(_T("c:\pwin95\notepad.exe"), 0, &stFileInfo, sizeof(stFileInfo), SHGFI_ICON)`。这可以用来显示特定程序的图标。 - `ExtractIcon()`函数也可以用来获取图标,如`HICON hIcon = ::ExtractIcon(AfxGetInstanceHandle(), _T("NotePad.exe"), 0)`,返回的是图标句柄。 4. **获取目录信息**: - **Windows目录**:可以直接使用`GetWindowsDirectory()`函数获取Windows系统的安装路径。 - **Windows系统目录**:可以通过特定路径字符串"G"来表示Windows系统目录,但具体路径可能因操作系统版本不同而有所变化,一般情况下,对于Windows,这通常是`GetWindowsDirectory()`返回路径下的`system32`子目录。 这些知识点对于理解VC++应用程序的基本操作和交互具有重要意义,尤其是在处理界面元素展示、程序间通信以及与系统资源交互时。新手学习VC++时,掌握这些基础技巧能帮助他们更顺利地进行开发和调试。