实现功能:我在程序a里检查当前系统进程列表,如果进程b存在,进程a就继续运行,否则进程a就自行关闭。
出现问题:当运行a的发布debug版本的时候,一切正常。运行release版本的时候,只要移动进程a的界面,不管进程b存不存在,进程a都回自动关闭。why?
出现问题:当运行a的发布debug版本的时候,一切正常。运行release版本的时候,只要移动进程a的界面,不管进程b存不存在,进程a都回自动关闭。why?
建议在Release版程序中输出一些调试信息,看看在什么地方出错的。
void CXieYZHDlg::OnTimer(UINT nIDEvent)
{
// PROCESSENTRY32结构对象
CString ts="",tts="";
PROCESSENTRY32 pe;
// 创建快照句柄
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(((int)hSnapshot)!=-1)
{
// 先搜索系统中第一个进程的信息
Process32First(hSnapshot, &pe);
// 下面对系统中的所有进程进行枚举,并保存其信息
do
{
ts=pe.szExeFile;
tts=tts+ts+" ";
if(ts=="GuanL_PTC.exe")
{
CloseHandle(hSnapshot);
CDialog::OnTimer(nIDEvent);
return;
}
//把进程对应的文件路径名填入列表框
//int index = m_ctlwndList.AddString(pe.szExeFile);
} while (Process32Next(hSnapshot, &pe));
// 关闭快照句柄
CloseHandle(hSnapshot);
AfxMessageBox(tts);
OnExit();
return;
}
CDialog::OnTimer(nIDEvent);
}
====》
ts.MakeUpper();
if(ts.Find("GUANL_PTC")!=-1)