在开发中我们会遇到要在指定文件夹下打开exe文件,我这里就介绍怎么去实现这种方法。
这里我们用到win32的函数,WIN32_FIND_DATAW这个结构体来实现查找
typedef struct _WIN32_FIND_DATA {
DWORD dwFileAttributes; //文件属性
FILETIME ftCreationTime; // 文件创建时间
FILETIME ftLastAccessTime; // 文件最后一次访问时间
FILETIME ftLastWriteTime; // 文件最后一次修改时间
DWORD nFileSizeHigh; // 文件长度高32位
DWORD nFileSizeLow; // 文件长度低32位
DWORD dwReserved0; // 系统保留
DWORD dwReserved1; // 系统保留
TCHAR cFileName[ MAX_PATH ]; //
长文件名
TCHAR cAlternateFileName[ 14 ]; // 8.3格式文件名
} WIN32_FIND_DATA, *PWIN32_FIND_DATA;
可以通过配置这个结构体变量来找到指定的文件,这里只作简单的查找exe文件操作
代码实现如下
//找出目录下的exe文件
<span style="white-space:pre"> </span>std::wstring dir = "D:\\test";
WIN32_FIND_DATAW finder;
HANDLE hfd;
std::wstring s = dir + L"\\*.exe";
hfd = FindFirstFileW(s.c_str(),&finder);
std::wstring l = finder.cFileName;
std::wcout << l << std::endl;