[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[工具合集] 运行守护指定程序(c#)

本帖最后由 ivor 于 2019-5-31 07:40 编辑
  1. using System;
  2. using System.Runtime.InteropServices;
  3. using System.Diagnostics;
  4. /**
  5.     读取第一个参数启动程序(支持守护*.bat脚本,*.py等等),守护进程防止退出,需要安装.net 2.0 or later
  6.     如果不结束守护程序,是无法退出被守护的进程,不要做非法用途。
  7.     启动例子:deamon "notepad.exe"
  8. */
  9. namespace Deamon
  10. {
  11.    
  12.     class Program
  13.     {
  14.         [DllImport("user32.dll", EntryPoint = "FindWindow", SetLastError = true)]
  15.         public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
  16.         [DllImport("user32.dll", EntryPoint = "ShowWindow", SetLastError = true)]
  17.         private extern static bool ShowWindow(IntPtr hWnd, Int16 nCmdShow);
  18.         public static String fn { get; set; }
  19.         static void Main(string[] args)
  20.         {
  21.             Console.Title = "deamon";
  22.             IntPtr hWnd= FindWindow("ConsoleWindowClass", "deamon");
  23.             if(hWnd != IntPtr.Zero)
  24.             {
  25.                 ShowWindow(hWnd, 0);
  26.             }
  27.             if(args.Length > 0)
  28.             {
  29.                 fn = args[0];
  30.                 Program p = new Program();
  31.                 p.Launch(fn);
  32.                 Console.ReadKey();
  33.             }
  34.             
  35.         }
  36.         public void Launch(String FileName)
  37.         {
  38.             ProcessStartInfo psi = new ProcessStartInfo();
  39.             psi.FileName = FileName;
  40.             Process p = new Process();
  41.             p.StartInfo = psi;
  42.             p.EnableRaisingEvents = true;
  43.             p.Exited += LaunchAgain;
  44.             p.Start();
  45.         }
  46.       
  47.         public void LaunchAgain(object o, EventArgs e)
  48.         {
  49.             Launch(fn);
  50.         }
  51.     }
  52. }
  53.    
复制代码
编译文件:https://pan.baidu.com/s/1kWqLWR9
1

评分人数

这是重复启动吧……
emm不过想搞成真正的“守护”估计需要360那种的驱动防护

TOP

回复 1# ivor


    用法是什么呢?

TOP

弄几个守护进程互相守护,然后再放到任务计划定时触运行。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表