以前小編在撰寫程式供機台自動化使用時會被工廠中的作業員誤關閉,因此導致機台作業異常或沒收到任何回傳數據,為了避免程式再被從工作管理員中關閉,因此小編使用此方式讓程式將不再顯示在工作管理員中,就可以避免程式遭使用者從工作管理員中誤關閉造成生產線停擺,如果需強制關閉程式的化就只能從處理程序中將程式關閉,以下小編將提供程式範例供大家參考使用。
C#工作管理員中隱藏程式
隱藏工作管理員 Function :
[DllImport("user32.dll")]
public static extern int SetWindowLong(IntPtr window, int index, int value);
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr window, int index);
public static void setTaskmanager_Disable(IntPtr Handle)
{
/* GWL EXSTYLE = -20 得到或設置擴展窗口的STYLE */
const int GWL_EXSTYLE = -20;
const int WS_EX_TOOLWINDOW = 0x00000080;
const int WS_EX_APPWINDOW = 0x00040000;
int windowStyle = Win32APi.GetWindowLong(Handle, GWL_EXSTYLE);
SetWindowLong(Handle, GWL_EXSTYLE, windowStyle | WS_EX_TOOLWINDOW);
}
使用方式 :
setTaskmanager_Disable(Handle);