gpt4 book ai didi

c++ - 防止将 AddString(某些进程)添加到组合框 MFC

转载 作者:行者123 更新时间:2023-11-28 03:24:04 27 4
gpt4 key购买 nike

我有代码女巫将当前工作进程添加到组合框,我想排除名称为:svchost.exe 的所有进程

if (Process32First(hSnap, &proc))
{
pComboBox->AddString(proc.szExeFile);
while (Process32Next(hSnap, &proc)){
if (proc.szExeFile != L"svchost.exe")
pComboBox->AddString(proc.szExeFile);
}
}

我尝试了该代码,但它根本不起作用。

如何排除所有 svchost.exe 进程?

最佳答案

我认为你不能使用:

 if (proc.szExeFile != L"svchost.exe") {...}

改用下面:

  if (0!=wcscmp(proc.szExeFile, L"svchost.exe")) {...}

当比较两个文字时,你不能使用像=这样的二元运算符,它会比较两个文字的地址,显然它们的地址在大多数情况下会不同,在你的情况下,文字 L"svchost.exe" 存储在程序的一些静态数据部分,它不等于本地存储在堆栈中的进程名称。

关于c++ - 防止将 AddString(某些进程)添加到组合框 MFC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14617497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com