国产精品高清免费在线视频-亚洲精品午夜福利一区-91成人精品国产免费男男-噼里啪啦日本一区二区

上海啟嘟渡科技商貿(mào)有限公司
SEARCH

與我們合作

我們專(zhuān)注提供互聯(lián)網(wǎng)一站式服務(wù),助力企業(yè)品牌宣傳多平臺(tái)多途徑導(dǎo)流量。
主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、移動(dòng)端微信小程序開(kāi)發(fā)、營(yíng)銷(xiāo)推廣、基礎(chǔ)網(wǎng)絡(luò)、品牌形象策劃等

您也可通過(guò)下列途徑與我們?nèi)〉寐?lián)系:

微 信: wxyunyingzhe

手 機(jī): 15624122141

郵 箱:

如何用網(wǎng)頁(yè)語(yǔ)言編寫(xiě)一個(gè)服務(wù)器關(guān)機(jī)程序

更新時(shí)間:2025-01-11 17:47:31

// 引入必要的命名空間

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Runtime.InteropServices; // 提供DllImport等特性,是P/Invoke的關(guān)鍵

namespace test

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

// 這個(gè)結(jié)構(gòu)體將會(huì)傳遞給API。使用StructLayout(...特性,確保其中的成員是按順序排列的,C#編譯器不會(huì)對(duì)其進(jìn)行調(diào)整。

[StructLayout(LayoutKind.Sequential, Pack = 1)]

internal struct TokPriv1Luid

{

public int Count;

public long Luid;

public int Attr;

}

// 以下使用DllImport特性導(dǎo)入了所需的Windows API。

// 導(dǎo)入的方法必須是static extern的,并且沒(méi)有方法體。調(diào)用這些方法就相當(dāng)于調(diào)用Windows API。

[DllImport("kernel32.dll", ExactSpelling = true)]

internal static extern IntPtr GetCurrentProcess();

[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]

internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);

[DllImport("advapi32.dll", SetLastError = true)]

internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);

[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]

internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,

ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen);

[DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]

internal static extern bool ExitWindowsEx(int flg, int rea);

// 以下定義了在調(diào)用WinAPI時(shí)需要的常數(shù)。這些常數(shù)通常可以從Platform SDK的包含文件(頭文件)中找到

internal const int SE_PRIVILEGE_ENABLED = 0x00000002;

internal const int TOKEN_QUERY = 0x00000008;

internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;

internal const string SE_SHUTDOWN_NAME = "SeShutdownPrivilege";

internal const int EWX_LOGOFF = 0x00000000;

internal const int EWX_SHUTDOWN = 0x00000001;

internal const int EWX_REBOOT = 0x00000002;

internal const int EWX_FORCE = 0x00000004;

internal const int EWX_POWEROFF = 0x00000008;

internal const int EWX_FORCEIFHUNG = 0x00000010;

// 通過(guò)調(diào)用WinAPI實(shí)現(xiàn)關(guān)機(jī),主要代碼再最后一行ExitWindowsEx,這調(diào)用了同名的WinAPI,正好是關(guān)機(jī)用的。

private static void DoExitWin(int flg)

{

bool ok;

TokPriv1Luid tp;

IntPtr hproc = GetCurrentProcess();

IntPtr htok = IntPtr.Zero;

ok = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);

tp.Count = 1;

tp.Luid = 0;

tp.Attr = SE_PRIVILEGE_ENABLED;

ok = LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, ref tp.Luid);

ok = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);

ok = ExitWindowsEx(flg, 0);

}

private void button1_Click(object sender, EventArgs e)

{

if (radioButton1.Checked == true)

{

DoExitWin(EWX_SHUTDOWN);

}

else

{

Application.Exit();

}

//MessageBox.Show("2");

}

}

}

多重隨機(jī)標(biāo)簽

猜你喜歡文章

QQ客服 電話咨詢(xún)
亚洲精品国男人在线视频| 内射精子视频欧美一区二区| 久久99亚洲小姐精品综合| 福利一区二区视频在线| 欧美亚洲三级视频在线观看| 国产精品推荐在线一区| 欧美日韩国产福利在线观看| 国产日韩熟女中文字幕| 九九蜜桃视频香蕉视频| 五月婷婷综合缴情六月| 国产又粗又猛又大爽又黄| 色偷偷偷拍视频在线观看| 中文文精品字幕一区二区| 日本av一区二区不卡| 大香蕉久久精品一区二区字幕 | 国产肥女老熟女激情视频一区| 九九热这里只有精品哦| 中日韩免费一区二区三区| 亚洲欧洲在线一区二区三区| 国产欧美日本在线播放| 黄色国产自拍在线观看| 亚洲一区二区精品国产av| 91精品国产综合久久不卡| 黑人巨大精品欧美一区二区区| 丁香七月啪啪激情综合| 亚洲国产精品国自产拍社区| 国自产拍偷拍福利精品图片| 日韩av欧美中文字幕| 午夜精品久久久99热连载| 国产中文另类天堂二区| 亚洲欧美日韩网友自拍| 成人午夜在线视频观看| 欧美一区二区不卡专区| 国产精品激情对白一区二区| 好吊视频一区二区在线| 懂色一区二区三区四区| 欧美一级特黄特色大色大片| 少妇淫真视频一区二区| 亚洲国产中文字幕在线观看| 在线精品首页中文字幕亚洲| 日韩人妻av中文字幕|