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...