帮忙解决一下,在 C++ Builder 中 怎样终止正在运行的某程序的进程;
帮忙解决一下,在C++Builder中怎样终止正在运行的某程序的进程;还有,怎么实现建立启动某程序的快捷方式...
帮忙解决一下,在 C++ Builder 中 怎样终止正在运行的某程序的进程;
还有,怎么实现建立启动某程序的快捷方式 展开
还有,怎么实现建立启动某程序的快捷方式 展开
1个回答
2013-08-08
展开全部
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.
把程序的快捷方式放到启动文件夹里面就能实现该程序的开机自启动了
//关闭进程
{
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.
把程序的快捷方式放到启动文件夹里面就能实现该程序的开机自启动了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询