永发信息网

为什么加上 #define UNICODE 和#define _UNICODE后 程序运行报错?

答案:2  悬赏:0  手机版
解决时间 2021-02-28 05:32
  • 提问者网友:咪咪
  • 2021-02-28 01:07
#define UNICODE
#define _UNICODE
#include
#include
#include
#include
#include
#define GAME_PROCESS_NAME "AcroRd32.exe"
BOOL FindProcessName(LPCTSTR ProcessName);
intmain()
{
printf("4.查找程序的进程名\n");
if(FindProcessName(_T("AcroRd32.exe")))
printf("程序己启动....\n\n");
else
printf("程序未启动...\n\n");
return 0;
}
BOOL FindProcessName(LPCTSTR ProcessName)
{
PROCESSENTRY32 stProcess; //存放快照进程信息的一个结构体
HWND hProcessShot;
hProcessShot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建进程快照

Process32First(hProcessShot,&stProcess);
do
{
if(!_tcscmp(ProcessName,stProcess.szExeFile))
return TRUE;
}
while(Process32Next(hProcessShot,&stProcess));
CloseHandle(hProcessShot);
return FALSE;
}
//这个程序 是通用代码编程,把前两行注释后 编译运行正确 。加上前两行代码,即使用unicode
编程运行 结果不正确,
程序代码没有问题,就是通用字符的编译 不理解
最佳答案
  • 五星知识达人网友:天凉才是好个秋
  • 2021-02-28 01:43
使用VS2010二者都能运行,但是
hProcessShot = (HWND)CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);//创建进程快照 我这转了一下。。。。

#define UNICODE
#define _UNICODE
有这个的提示重复定义
全部回答
  • 1楼网友:西岸风
  • 2021-02-28 02:44
改成 #ifndef UNICODE #define UNICODE #endif #ifndef _UNICODE #define _UNICODE #endif 再看看别人怎么说的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯