【发布时间】:2020-12-02 18:28:27
【问题描述】:
Сan't call "GetProcessByExeName"
DWORD GetProcessByExeName(wchar_t* ExeName)
{
PROCESSENTRY32W pe32;
pe32.dwSize = sizeof(PROCESSENTRY32W);
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
MessageBoxW(NULL, L"Error CreateToolhelp32Snapshot", L"error", MB_OK);
return false;
}
if (Process32FirstW(hProcessSnap, &pe32))
{
do
{
if (_wcsicmp(pe32.szExeFile, ExeName) == 0)
{
CloseHandle(hProcessSnap);
return pe32.th32ProcessID;
}
} while (Process32NextW(hProcessSnap, &pe32));
}
CloseHandle(hProcessSnap);
return 0;
}
通过调用GetProcessByExeName(L"chrome.exe"); 写入 -> "const wchar_t" 类型的参数 * 与 "wchar_t" 类型的参数不兼容
【问题讨论】:
-
将
DWORD GetProcessByExeName(wchar_t* ExeName)更改为DWORD GetProcessByExeName(const wchar_t* ExeName)字符串文字是一个常量 -
@drescherjm 是的,一切正常,非常感谢 :)