c# 调整当前进程在操作系统关机时的关闭顺序

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        [DllImport("kernel32.dll", SetLastError = true)]
        private static extern bool SetProcessShutdownParameters(uint dwLevel, uint dwFlags);


        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            // Set the process shutdown level to 0x280 (624)
            uint shutdownLevel = 0x280;
            uint shutdownFlags = 0;

            //让当前进程最后一个关闭
            shutdownLevel = 0;

            bool result = SetProcessShutdownParameters(shutdownLevel, shutdownFlags);

            if (!result)
            {
                Console.WriteLine("Error: Could not set process shutdown parameters. Error code: " + Marshal.GetLastWin32Error());
            }
            else
            {
                Console.WriteLine("Process shutdown parameters set successfully");
            }
        }
    }
}

 

posted on 2023-02-13 15:57  空明流光  阅读(57)  评论(0编辑  收藏  举报

导航