strcmp问题
//
#include "stdafx.h"
#include<stdio.h>
#include<windows.h>
#include<tlhelp32.h>
#include<string.h>
int _tmain(int argc, _TCHAR* argv[])
{
while (1)
{
Sleep(800);
//char c[]={"360tray.exe"}; //360安全卫士自动保护的进程
//char d[]={"ast.exe"}; //超级巡警的进程
//char e[]={"AST.exe"}; //超级巡警的进程
HANDLE handle; //定义CreateToolhelp32Snapshot系统快照句柄
HANDLE handle1; //定义要结束进程句柄
handle=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//获得系统快照句柄
PROCESSENTRY32 *info; //定义PROCESSENTRY32结构字指
//info=new PROCESSENTRY32;
//info->dwSize=sizeof(PROCESSENTRY32);
Process32First(handle,info);
while(Process32Next(handle,info)!=FALSE)
{
//info->szExeFile; //指向进程名字
if(strcmp(info->szExeFile,"360tray.exe") == 0)
{
printf("ok");
}
}
CloseHandle(handle);
}
return 0;
}
为什么总是,1>c:\users\cxkj\documents\visual studio 2005\projects\kao\kao\kao.cpp(29) : error C2664: 'strcmp' : cannot convert parameter 1 from 'WCHAR [260]' to 'const char *'
[解决办法]
你的工程类型是unicode的,因此ansi 版本的stcmp当然不能用
几个需要修改的地方
1. 字符串如"360tray.exe"必须改成TEXT("360tray.exe" )
2. strcmp需要改成tcscmp