zoukankan      html  css  js  c++  java
  • Window提高_3.1练习_双进程守护

    双进程守护

    当打开一个进程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 = { 0 };
                CreateProcess(L"..\Debug\双进程守护B.exe", 
                    NULL, NULL, NULL,
                    NULL, NULL, NULL, NULL,
                    &StartupInfo,
                    &ProcessInformation);
                WaitForSingleObject(ProcessInformation.hProcess, -1);
    
            }
            else
            {
                DWORD dwPid = 0;
                GetWindowThreadProcessId(hWnd, &dwPid);
                HANDLE hProc = OpenProcess(
                    SYNCHRONIZE, NULL, dwPid);
                WaitForSingleObject(hProc, -1);
            }
        }
    }

    双进程守护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 = { 0 };
                CreateProcess(L"..\Debug\双进程守护A.exe",
                    NULL,NULL, NULL,
                    NULL, NULL,NULL, NULL, 
                    &StartupInfo, 
                    &ProcessInformation);
    
                WaitForSingleObject(
                    ProcessInformation.hProcess, -1);
    
            }
            else
            {
                DWORD dwPid = 0;
                GetWindowThreadProcessId(hWnd, &dwPid);
                HANDLE hProc = OpenProcess(SYNCHRONIZE, NULL, dwPid);
                WaitForSingleObject(hProc, -1);
            }
        }
    }
  • 相关阅读:
    图片灰度化,并且resize图片
    C语言学习笔记
    路飞学城14天集训营作业2—三级菜单
    路飞学城14天集训营作业4—员工信息表
    路飞学城14天集训营作业3—购物车
    路飞学城14天集训营作业1—登陆认证
    js钩子函数
    APP2.0后台控件API
    KindEditor 插件API使用说明
    TreeView插件 API
  • 原文地址:https://www.cnblogs.com/ltyandy/p/10939815.html
Copyright © 2011-2022 走看看