C 強制關機 重啟以及登出計算機

2021-06-23 09:00:34 字數 2117 閱讀 8058

using system;

using system.collections.generic;

using system.text;

using system.runtime.interopservices;

namespace commondll

// 以下使用dllimport特性匯入了所需的windows api。

// 匯入的方法必須是static extern的,並且沒有方法體。

//呼叫這些方法就相當於呼叫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 lookupprivilegevaluea

(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 exitwindow***(int ***, int rea);

//c#關機**

// 以下定義了在呼叫winapi時需要的常數。

//這些常數通常可以從platform sdk的包含檔案(標頭檔案)中找到

public const int se_privilege_enabled = 0x00000002;

public const int token_query = 0x00000008;

public const int token_adjust_privileges = 0x00000020;

public const string se_shutdown_name = "seshutdownprivilege";

public const int ewx_logoff = 0x00000000;

public const int ewx_shutdown = 0x00000001;

public const int ewx_reboot = 0x00000002;

public const int ewx_force = 0x00000004;

public const int ewx_poweroff = 0x00000008;

public const int ewx_forceifhung = 0x00000010;

// 通過呼叫winapi實現關機,主要**再最後一行exitwindow*** //這呼叫了同名的winapi,正好是關機用的。

//c#關機**

public static void doexitwin(int ***)

}

}
呼叫:
public void reboot()

public void shutdown()

public void logoff()

C 實現 Windows 關機 重啟 登出

using system using system.collections.generic using system.text using system.runtime.interopservices dllimport kernel32.dll exactspelling true interna...

C 遠端重啟計算機

什麼也不說了,直接看 using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using sy...

C 或C控制PC電腦關機 重啟 登出

include 功能實現 bool resetwindows dword dwflags,bool bforce 獲得引數的大小,以提供給getversionex來判斷這是乙個新版本的osversioninfo,還是舊版本的 新版本是osversioninfoex。擴充版本 osvi.dwosver...