VS2010--不能将参数 2 从“const char [12]”转换为“LPCWSTR”与指向的类型无关

PROCESSENTRY32 pe32; HANDLE hSnaphot; HANDLE hApp; DWORD dProcess = 0; hSnaphot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); // 获取进程快照 Process32First(hSnaphot, &pe32); // 指向第一个进程 do { if (lstrcmpi(pe32.szExeFile,"notepad.exe")==0) // 查找进程名称为 NotePad.exe (记事本的程序) { dProcess = pe32.th32ProcessID; break; } }while(Process32Next(hSnaphot, &pe32)); // 不断循环直到取不到进程 hApp= OpenProcess(PROCESS_VM_OPERATION|SYNCHRONIZE,FALSE,dProcess); // 根据进程 ID 获取程序的句柄 if (!WaitForSingleObject(hApp,INFINITE))// 等待记事本程序关闭 { cout << " 记事本已经关闭!" << endl; } 想要得到一个程序被关闭的事件,我的代码如上,在VC6可以正常运行,可是在VS2010却编译不过去,提示错误语句是:lstrcmpi(pe32.szExeFile,"notepad.exe")==0

错误提示是:error C2664: “lstrcmpiW”:不能将参数 2 从“const char [12]”转换为“LPCWSTR”与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换

--------------------------------------------------------------------------

解决方法:把工程设成多字节码。



或者

L"notepad.exe"或_T("notepad.exe")

L说明宽字节

_T根据是否设为UNICODE,对应宽字符或窄字符


dubug正常release出错,一般是没初始化的问题
release正常debug出错,一般是内存泄漏的问题,指针没有释放,数组越界

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值