帮忙解决一下,在 C++ Builder 中 怎样终止正在运行的某程序的进程;

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:40:58
帮忙解决一下,在 C++ Builder 中 怎样终止正在运行的某程序的进程;

还有,怎么实现建立启动某程序的快捷方式

bool CloseProgress( AnsiString Progress ) //关闭进程
{
HANDLE hSnapshotPro;
HANDLE hSnapshotMod;
//创建遍历进程所需要的SnapshotPro
hSnapshotPro = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if (!hSnapshotPro) return false;
//循环遍历进程列表中的进程
PROCESSENTRY32 ProcessEntry;
ProcessEntry.dwSize=sizeof(PROCESSENTRY32);

Process32First(hSnapshotPro, &ProcessEntry);
int ppid = -1;
while (Process32Next(hSnapshotPro, &ProcessEntry)!=0)
{
if( strcmp( ProcessEntry.szExeFile, Progress.c_str() ) == 0 )
{
ppid = ProcessEntry.th32ProcessID;
}
}
HANDLE ps = OpenProcess(1,false,ppid);
if(ps&&TerminateProcess(ps,-9))
{
return true;
}
else return false;
}

函数的参数Progress是进程的名称,例如:Project1.exe,关闭成功返回true,关闭失败返回false.
把程序的快捷