双进程守护

当打开一个进程A的时候,此进程检测是否存在进程B,如果不存在就创建进程B。

进程B的作用是检测进程A是否被关闭,如果被关闭了,就再创建一个进程A。

双进程守护A.exe代码如下:

#include "pch.h"
#include <iostream>
#include <windows.h>
int main()
{
while (TRUE)
{
HWND hWnd = FindWindow(NULL, L"双进程守护B");
if (hWnd==NULL)
{ STARTUPINFO StartupInfo = { sizeof(STARTUPINFO) };
PROCESS_INFORMATION ProcessInformation = { };
CreateProcess(L"..\\Debug\\双进程守护B.exe",
NULL, NULL, NULL,
NULL, NULL, NULL, NULL,
&StartupInfo,
&ProcessInformation);
WaitForSingleObject(ProcessInformation.hProcess, -); }
else
{
DWORD dwPid = ;
GetWindowThreadProcessId(hWnd, &dwPid);
HANDLE hProc = OpenProcess(
SYNCHRONIZE, NULL, dwPid);
WaitForSingleObject(hProc, -);
}
}
}

双进程守护B.exe代码如下:

#include "pch.h"
#include <iostream>
#include <windows.h>
int main()
{
while (TRUE)
{
HWND hWnd = FindWindow(NULL, L"双进程守护A");
if (hWnd == NULL)
{
STARTUPINFO StartupInfo = { sizeof(STARTUPINFO) };
PROCESS_INFORMATION ProcessInformation = { };
CreateProcess(L"..\\Debug\\双进程守护A.exe",
NULL,NULL, NULL,
NULL, NULL,NULL, NULL,
&StartupInfo,
&ProcessInformation); WaitForSingleObject(
ProcessInformation.hProcess, -); }
else
{
DWORD dwPid = ;
GetWindowThreadProcessId(hWnd, &dwPid);
HANDLE hProc = OpenProcess(SYNCHRONIZE, NULL, dwPid);
WaitForSingleObject(hProc, -);
}
}
}

Window提高_3.1练习_双进程守护的更多相关文章

  1. Android 保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护

    本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳an ...

  2. Android实现双进程守护 (转)

    做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论.这里先总结一下网上流传的各种解决方案,看看这些办法是 ...

  3. 保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护

    本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context  ↳an ...

  4. Android实现双进程守护

    做过android开发的人应该都知道应用会在系统资源匮乏的情况下被系统杀死!当后台的应用被系统回收之后,如何重新恢复它呢?网上对此问题有很多的讨论.这里先总结一下网上流传的各种解决方案,看看这些办法是 ...

  5. android双进程守护,让程序崩溃后一定可以重启

    由于我们做的是机器人上的软件,而机器人是24小时不间断服务的,这就要求我们的软件不能退出到系统桌面.当然最好是能够做到程序能够不卡顿,不崩溃,自己不退出.由于我们引用了很多第三方的开发包,也不能保证他 ...

  6. Android NDK(C++) 双进程守护

    双进程守护如果从进程管理器观察会发现新浪微博.支付宝和QQ等都有两个以上相关进程,其中一个就是守护进程,由此可以猜到这些商业级的软件都采用了双进程守护的办法. 什么是双进程守护呢?顾名思义就是两个进程 ...

  7. NDK开发和NDK双进程守护

    https://www.jianshu.com/p/433b2c93c6a7 NDK进程守护 https://blog.csdn.net/k393393/article/details/7895435 ...

  8. 安卓android杀不死进程,保护,双进程守护,驻留,Marsdaemon,保活

    韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha  313134555@qq.com =========== Android 进程常驻(0)----MarsDaemon使用说明

  9. (转)Android Service 双进程常驻后台(2)

    最近项目用到Service常驻后台,研究了一下发现手Q和微信都是使用了双进程来保证一键清理后自动复活,copy网上双进程Service的例子,再结合onTrimMemory(),基本实现一键清理后自动 ...

随机推荐

  1. redis 事务 及发布于订阅功能

    事务: Redis事务可以一次执行多个命令,事务具有以下特征: 1.隔离操作:事务中的所有命令都会序列化.按顺序地执行,不会被其他命令打扰. 2.原子操作:事务中的命令要么全部被执行,要么全部都不执行 ...

  2. EXISTS 执行顺序 CLR-2-2-引用类型和值类型

    EXISTS 执行顺序   select * from a where a.s_status=1 and exists (select orderid from b on a.orderid=b.or ...

  3. (二)Java 简介

    Java 简介 Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称.由James Gosling和同事们共同研发,并在1995年正式 ...

  4. exception log

    except Exception as e: l = [str(i) for i in [dbid, f_mp3, e]] log_s = '||'.join(l) logging.exception ...

  5. libXdmcp.so.6

    Traceback (most recent call last): File "/data/xiaole_dl_img/product.v.one.banner.fixedperiod.g ...

  6. 下载的php_yal.dll文件添加到php的ext

    下载的php_yal.dll文件添加到php的ext http://pecl.php.net/package/yaf/3.0.6/windows yaf. use_namespace=1 ;;exte ...

  7. USACO Section1.1PROB Broken Necklace

    有点麻烦的一道模拟(官方题解好像有复杂度为$O(n)$DP的姿势?,感觉好烦,以后再细看~ 在一些细节上调试了很久很久,囧RZ /* ID: jusonal1 PROG: beads LANG: C+ ...

  8. linux centos7 安装mysql-5.7.17教程(图解)

    1系统约定安装文件下载目录:/data/softwareMysql目录安装位置:/usr/local/mysql数据库保存位置:/data/mysql日志保存位置:/data/log/mysql 2下 ...

  9. git回到没push的commit

    创建: 2017/10/28   merge master以后数据库出了问题,改好以后发现view有点问题,commit以后没提交就reset了.过后才想起来怎么回去???吓成狗,索性找到了下面这个. ...

  10. CSS3 核心知识面试题

    一种常见利用伪类清除浮动的代码 .clearfix:after { content:"."; //这里利用到了content属性 display:block; height:; v ...