【发布时间】:2015-07-13 08:53:28
【问题描述】:
我正在尝试为我的 MFC 项目代码设置一个特定目录。已经编写了对话框代码(在 Visual Studio C++ 中),现在我将在不同的操作系统中使用此代码的 .exe 文件,并在我想要的目录中替换此文件。为了达到这个目标,我使用了GetModuleFileName 函数。因此,按照these 的建议,我将这段代码包含在我的代码的 OnInitDialog() 函数中:
//function that gets the directory without the file name:
TCHAR szFilePath[_MAX_PATH];
TCHAR driveLetter[3];
TCHAR directory[MAX_PATH];
TCHAR FinalPath[MAX_PATH];
::GetModuleFileName(NULL, szFilePath, _MAX_PATH);//Retrieves the current directory for the current process.
// Add all the files and directories in the windows directory.
//VERIFY(0 < ::GetWindowsDirectory(lpszWinPath, MAX_PATH));
// Make the windows directory the current directory.
::GetCurrentDirectory(MAX_PATH, lpszOldPath);
//::SetCurrentDirectory(lpszWinPath);
::SetCurrentDirectory("C:\\Program Files");
但是,现在我没有收到任何错误消息,但我不知道为什么我看不到任何输出。例如,我希望在指定目录中创建一个 .exe 文件。
【问题讨论】:
-
你在 Windows 目录里做什么?
-
是的,从代码中跳过
-
“我不知道为什么看不到任何输出”:那是因为您提供的代码没有生成任何输出。
-
如果您要问一些关于代码的问题,通常有助于显示该代码而不是一些不相关的东西。您声明了 4 个数组,使用了两个,而您使用的两个数组之一甚至不在声明的 4 个中!?一般来说,您可能可以解决问题,只要您花时间向自己清楚地说明确切的问题是什么。
-
我在问题中看不到任何特定于 MFC 的内容。你为什么使用 MFC 标签,而不是说,winapi?
标签: c++ windows mfc visual-c++-2013