社区
C++ Builder
帖子详情
如何结束一个没有响应的进程?
大伟
2007-05-28 05:07:25
hwnd=FindWindow(NULL,"TEST");
SendMessage(hwnd,WM_CLOSE,NULL,NULL);
这个方法不行,不知道还有什么方法?
...全文
271
6
打赏
收藏
如何结束一个没有响应的进程?
hwnd=FindWindow(NULL,"TEST"); SendMessage(hwnd,WM_CLOSE,NULL,NULL); 这个方法不行,不知道还有什么方法?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
loveshell
2007-05-29
打赏
举报
回复
列举进程,比较名字。
DWORD findpid(char* inputproname)
{
DWORD PID=NULL;
HANDLE hProcess=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
HANDLE hModule;
PROCESSENTRY32* pinfo=new PROCESSENTRY32;
MODULEENTRY32* minfo=new MODULEENTRY32;
pinfo->dwSize=sizeof(PROCESSENTRY32);
minfo->dwSize=sizeof(MODULEENTRY32);
BOOL report;
char shortpath[MAX_PATH] = "";
char proname[MAX_PATH];
char propath[MAX_PATH];
char defaultpath[MAX_PATH];
report=Process32First(hProcess,pinfo);
HANDLE hToken; // handle to process token
TOKEN_PRIVILEGES tkp; // pointer to token structure
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid);
tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES) NULL, 0);
while(report)
{
hModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,pinfo->th32ProcessID);
Module32First(hModule, minfo);
strcpy(proname,pinfo->szExeFile);
if(stricmp(inputproname,proname)==0)
{
PID=pinfo->th32ProcessID;
}
report=Process32Next(hProcess,pinfo);
}
return PID;
}
大伟
2007-05-29
打赏
举报
回复
如何获得进程ID呢?
jacknes009
2007-05-29
打赏
举报
回复
study
大伟
2007-05-29
打赏
举报
回复
用了JSP的一段代码
void KillProgram(LPCSTR ExeName)
{
LPCSTR File;
HANDLE hProcessSnap;
PROCESSENTRY32 pe32;
if (!ExeName || !ExeName[0])
return;
File = strrchr(ExeName, '\\');
if (File!=0)
ExeName = File+1;
hProcessSnap = CreateToolhelp32Snapshot(
TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == (HANDLE)-1)
return;
memset(&pe32, 0, sizeof(pe32));
pe32.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hProcessSnap, &pe32))
{
do
{
File = strrchr(pe32.szExeFile, '\\');
File = File? File+1 : pe32.szExeFile;
if (strcmpi(File,ExeName)==0) {
TerminateProcess(OpenProcess(PROCESS_ALL_ACCESS,0,pe32.th32ProcessID), 0);
break;
}
}while(Process32Next(hProcessSnap,&pe32));
}
CloseHandle(hProcessSnap);
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
String strExe = ExtractFilePath(Application->ExeName)+"\\player.exe";
KillProgram(strExe.c_str());
}
//---------------------------------------------------------------------------
netsys2
2007-05-28
打赏
举报
回复
http://access911.net/n/doc1.asp?mode=a&bid=005001&aid=5082789
netsys2
2007-05-28
打赏
举报
回复
bool KillProcessByAPI( DWORD dwPid )
{
HANDLE ps = OpenProcess(1,false,dwPid);
if( ps && TerminateProcess(ps,-9))
return true;
return false;
}
dwPid是进程ID
taskmgr.exe下载
- **tasklist**:同样是
一个
命令行工具,用于列出运行在本地或远程计算机上的所有
进程
,包括它们的PID(
进程
ID)、会话ID、会话名称、用户名、内存使用量以及
进程
是否为系统关键
进程
等信息。这对于远程管理和排查...
Ubuntu下查看
进程
pid及
结束
无响应程序
Ubuntu下查看
进程
pid及
结束
无响应程序 在Windows系统中偶尔会碰到程序无响应的情况,大家都知道使用快捷键Ctrl+Alt+... PID:
进程
标识符,系统为每
一个
进程
分配
一个
识别码,称为PID。 一、查看
进程
及PID 1、用 Ct
什么是
进程
?什么是线程?
进程
和线程之间的区别是什么?
什么是
进程
?什么是线程?
进程
是系统中正在运行的
一个
程序,程序一旦运行就是
进程
。
进程
可以看成程序执行的
一个
实例。
进程
是系统资源分配的独立实体,每个
进程
都拥有独立的地址空间。
一个
进程
无法访问另
一个
进程
...
计算机快速
结束
进程
,
结束
进程
快捷键,详细教您电脑
结束
进程
快捷键怎么操作...
那么,如何强制
结束
进程
?下面,小编给大家介绍电脑
结束
进程
快捷键的步骤。有时我们会遇到程序无响应或者其他别的原因想要
结束
程序,那么我们这时候就可以
结束
进程
。电脑用户,在操作电脑的时候,遇到程序无响应,就...
win10taskkill无法终止
进程
_Win10专业版系统关闭全部无响应
进程
的方法
我们在使用Windows电脑的过程中,总是会碰到
进程
无响应的现象,如果我们...Win10专业版系统关闭全部无响应
进程
的方法:一、输入命令如果你想
结束
一个
进程
,可以执行以下命令:【taskkill.exe /im explorer.exe /f】...
C++ Builder
13,871
社区成员
102,694
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章