社区
进程/线程/DLL
帖子详情
前台程序和后台程序
ywolf0214
2008-06-16 04:14:46
我在后台有一个服务程序,它用于监测前台程序,若发现有一个程序正在运行就结束掉它。但是奇怪的是如果把这个后台程序运行在前台(有窗口)的确可以监控指定的程序是否运行,如果把它作为服务在后台运行(没有窗口,只有进程)它就结束不掉指定的程序,这是为什么呢?
...全文
254
4
打赏
收藏
前台程序和后台程序
我在后台有一个服务程序,它用于监测前台程序,若发现有一个程序正在运行就结束掉它。但是奇怪的是如果把这个后台程序运行在前台(有窗口)的确可以监控指定的程序是否运行,如果把它作为服务在后台运行(没有窗口,只有进程)它就结束不掉指定的程序,这是为什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
做鸡真好吃
2008-06-17
打赏
举报
回复
结贴给分吧
孤客天涯
2008-06-16
打赏
举报
回复
服務程序運行的桌面叫"Winlogon",一般的程序運行于"default"桌面下,所以服務程序用FindWindow是找不到你要的窗口,你只能通過ID來查,
PROCESSENTRY32 process_info;
DWORD m_CurrentPrecessID=GetCurrentProcessId();
HANDLE handle=CreateToolhelp32Snapshot(TH32CS_SNAPALL|TH32CS_INHERIT,m_CurrentPrecessID);
if (Process32First(handle,&process_info))
{
while (Process32Next(handle,&process_info))
{
//根據process_info.szExeFile确定你所要殺的進程
//process_info.th32ProcessID即為該進程的ID
}
}
DWORD dwProcessID = 0//你要殺的進程的ID;
HANDLE hToken=NULL;
if(OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
{
SetPrivilege(hToken, SE_DEBUG_NAME, TRUE);//提昇權限
CloseHandle(hToken);
HANDLE handle=OpenProcess(PROCESS_ALL_ACCESS,TRUE,dwProcessID);
if(handle!=NULL)
{
if(TerminateProcess(handle,0))
{
}
CloseHandle(handle);
}
CloseHandle(hToken);
}
ywolf0214
2008-06-16
打赏
举报
回复
[Quote=引用 1 楼 jason_wentzel 的回复:]
1.殺進程先要提昇權限.
2.殺進程,你是是什麼樣的方式獲取進程的ID,不要用FindWindow之類的,因為服務程序與一般的應用程序運行于不同的桌面,在服務進程運行的桌面中當然用Findwindow找不到你所指定的進程.
[/Quote]
恩,你说的很好,我的确是用findwindow来查找的,那我应该怎么做?怎么通过后台程序去杀死一个前台进程?
孤客天涯
2008-06-16
打赏
举报
回复
1.殺進程先要提昇權限.
2.殺進程,你是是什麼樣的方式獲取進程的ID,不要用FindWindow之類的,因為服務程序與一般的應用程序運行于不同的桌面,在服務進程運行的桌面中當然用Findwindow找不到你所指定的進程.
ubuntu
前台
程序
和
后台
程序
前言 以前知道了 & 命令后,经常使用她把
程序
从
前台
转换到后台。 后来突然想时候那个
程序
了,我不知所措了。 本文与ubuntu
前台
程序
和
后台
程序
保存同步,若想访问最新文章,请访问这里
前台
转后台 一般是命令后加一个 & 命令即可。 比如 tiankonguse@tiankonguse-PC:~/app/pc2-9.2.3/bin$ ./pc2server &
docker容器中的
前台
程序
和
后台
程序
,为什么一定要
前台
运行
docker 容器默认会把容器内部第一个进程,也就是 pid=1 的
程序
作为docker容器是否正在运行的依据,如果docker容器中 pid = 1 的进程挂了,那么docker容器便会直接退出,也就是说Docker容器中必须有一个
前台
进程,否则认为容器已经挂掉。 为了验证这一点,我写了两个go
程序
并静态编译为可执行
程序
,common 和 daemon ,他们即可
前台
运行也可后台运行
前台
运行 ./common ./daemon 后台运行 ./common serve -d ./daemon -d
后台
程序
与
前台
程序
后台线程:指为其他线程提供服务的线程,也称为守护线程。JVM的垃圾回收线程就是一个后台线程。
前台
线程:是指接受后台线程服务的线程,其实
前台
后台线程是联系在一起,就像傀儡和幕后操纵者一样的关系。傀儡是
前台
线程、幕后操纵者是后台线程。由
前台
线程创建的线程默认也是
前台
线程。
前台
线程和后台线程的区别和联系: 1、后台线程不会阻止进程的终止。属于某个进程的所有
前台
线程都终止后,该进程就会被终止。所有剩余
前台
、前端、后台、后端、中台、图形界面、dos概念详解
1.什么是后台?什么是后端 1.1首先明确
前台
、前端不是一个概念,自然后台、后端也不是一个概念。
前台
、后台的概念定义比较宽泛,比如定义
前台
则是指和用户直接交互的
程序
,后台则是不与用户直接交互的
程序
,不需要明确具体的业务逻辑。而前端后端则是明确具体的业务逻辑,指明我们使用什么语言、实现什么业务等等 1.2后台指的是不与用户直接交互的
程序
,后台可以是任何
程序
,甚至还可以是一台完成相应功能的设备。
前台
程序
与用户直接对话,
后台
程序
则间接地为
前台
程序
提供支持。
前台
程序
通过中断来处理事件,其结构一般为无限循环;后台
oracle的
前台
进程和后台进程
进程结构: 包括
前台
进程、后台进程。
前台
进程是指服务进程(又叫oracle进程)和用户进程。
前台
进程是根据实际需要而运行的,并在需要结束后立刻结束。 后台进程 实例中的后台进程执行用于处理并行用户请求所需的通用功能,而不会损害系统的完整性和性能。它们把为每个用户运行的多个 Oracle
程序
所处理的功能统一起来。后台进程执行 I/O 并监控其它 Oracle 进程以增加并行性,从而使性能和可靠
进程/线程/DLL
15,466
社区成员
49,169
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章