社区
进程/线程/DLL
帖子详情
如何得到某個正在運行的進程的名柄?
xhwu3721
2003-10-21 01:40:39
因為我要控制它.
...全文
43
11
打赏
收藏
如何得到某個正在運行的進程的名柄?
因為我要控制它.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
DoItFreely
2003-10-25
打赏
举报
回复
suspendthread(),呵呵,人家只对thread有效,process不认帐
通过创建thread的快照(snapshot),找出那个进程的所有线程,依次suspendthread试试
xhwu3721
2003-10-23
打赏
举报
回复
To:: myusst(Random) 大俠,我能得到其句柄了,但我為什麼用 SuspendThread不能將這個進程暫停住呢?
謝謝!
//枚舉並查找進程ID:
PROCESSENTRY32 p32;
HANDLE hprocess;
HANDLE pName=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,NULL);
//開始查找
BOOL Next=Process32First(pName,&p32);
int i=0;
//遍歷進程
while(Next)
{
//?示?程
if((strcmpi(p32.szExeFile,"loadappi.exe"))==0) //"你要的?程");
{
//根据?程ID?取句并
hprocess=OpenProcess(PROCESS_TERMINATE,0,p32.th32ProcessID);
//好了?得你要的句柄了。
AfxMessageBox("have found the loadappi.exe process");
break;
}
//??查找
Next=Process32Next(pName,&p32);
i++;
}
SuspendThread(hprocess); //這句有問題嗎?我為什麼不能將其停住呢?
CloseHandle(pName);
AfxMessageBox("SuspendThread ok?");
seacode
2003-10-22
打赏
举报
回复
問一下樓上兩位,如果是非窗口類的系統進程呢?
enoloo
2003-10-22
打赏
举报
回复
大致过程我同意 efei4000(何浩然) .
首先用FINDWINDOW,用一个回调函数找到你想要控制的进程句柄.
然后就可以控制进程了.
myusst
2003-10-22
打赏
举报
回复
这样不需要PSAPI啊,windows NT4。0以下用EnumProcesses才需要PSAPI。
这样在windows98,me,2000以上都可以。
JoriS
2003-10-22
打赏
举报
回复
楼上的说的很清楚了
不过我的系统好象不支持PASPI
myusst
2003-10-22
打赏
举报
回复
PROCESSENTRY32 p32;
HANDLE pName=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,NULL);
//开始查找
BOOL Next=Process32First(pName,&p32);
i=0;
//遍历进程
while(Next)
{
//显示进程
if(strcmpi(p32.szExeFile,"你要的进程");
{
//根据进程ID获取句并
HANDLE hprocess=OpenProcess(PROCESS_TERMINATE,0,p32.th32ProcessID);
//好了获得你要的句柄了。
}
//继续查找
Next=Process32Next(pName,&p32);
i++;
}
CloseHandle(pName);
}
xhwu3721
2003-10-22
打赏
举报
回复
是啊,,對於非窗口類的系統進程該如何得到呢?
efei4000
2003-10-21
打赏
举报
回复
hwnd=findwindow()
pid=getprocessthresdid(hwnd)
hp=openprocess(pid)
DoItFreely
2003-10-21
打赏
举报
回复
看一下《windows 95系统编程》(windows 95 system programming),侯杰有公布他翻译的版本(俺不喜欢台湾的翻译风格)
在第三 章关于进程(process)的讨论里面有介绍
xhwu3721
2003-10-21
打赏
举报
回复
有人知道嗎 ?
如何得到進程的名柄,我要結束它.
05-跨进程句
柄
和进程间操作
跨进程句
柄
和进程间操作 输出目录修改如图所示:目的是在上一层目录生成Debug目录,里面放着执行文件 输出目录修改如图所示:目的是在上一层目录生成Debug目录,里面放着执行文件结论:进程B是无法直接使用A的进程句
柄
的。剖析:一个进程,它所打开的句
柄
(或者说它所获得的句
柄
),进程都会把句
柄
存起来,这样就会形成一个表记录进程拿到哪些句
柄
;这个表叫做句
柄
表;在B进程的句
柄
表中,并没有自己的进程的句
柄
,所以就算手动把A进程的句
柄
给B进程;让B进程结束——B进程表示在自己的句
柄
表中找不到自己
linux 强制删除文件句
柄
,在linux系统中如果误删除了某个文件,但是文件句
柄
还被某些进程占用着,这种情况下该怎么恢复被删除的文件呢?...
在linux系统中如果误删除了某个文件,但是文件句
柄
还被某些进程占用着,这种情况下文件还能恢复吗?如果可以,那该怎么恢复被删除的文件呢?首先我们先来理解下,【文件被删除了,但是文件句
柄
还被某些进程占用着】是什么意思?先上个图文件
名
与inode的关系当我们创建一个文件后,linux文件系统会将文件的数据存储到磁盘的数据区(data area),文件根据其大小可能会占用多个磁盘扇区;每个文件都会对应一...
怎样让自己的程序进程不让别人强行关闭掉
写了一个像杀毒软件的软件,不能让别人结束这个程序的进程。 有一种方法是将自己进程提升为系统进程的,这种没有试过 另外一种方法,拦截API函数,有两种方法: 1.在强行关闭一个进程时系统调用的是 BOOL WINAPI TerminateProcess( HANDLE hProcess, UINT uExitCode ); 我们如果利用钩子拦截TerminatePro
进程与线程复习知识点
1. 进程 进程就是一个正在运行当中的程序 我们理解进程可以把它当做一个容器来理解,容器里面包含的有线程,其本身并没有执行代码的能力。因此我们在进程的创建之初都会创建一个主线程用于执行代码,如果此主线程结束,系统就会销毁这个进程内核对象 进程简单的分为两种:系统进程和用户进程 系统进程就是用于完成操作系统的各种功能的进程 用户进程就是由用户启动的进程...
共享跨越进程边界内核对象的方法?
许多情况下,在不同进程中运行的线程需要共享内核对象。下面是为何需要共享的原因: • 文件映射对象使你能够在同一台机器上运行的两个进程之间共享数据块。 • 邮箱和指定的管道使得应用程序能够在连网的不同机器上运行的进程之间发送数据块。 • 互斥对象、信标和事件使得不同进程中的线程能够同步它们的连续运行,这与一个应用程序在完成某项任务时需要将情况通知另一个应用程序的情况相同。 由于内核对象句
柄
与进程
进程/线程/DLL
15,472
社区成员
49,183
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章