在WinForms应用程序中隐藏TaskBar
当我运行C#WinForms应用程序时,如何隐藏Windows任务栏?
我尝试了一些代码,但它在任务栏的最大化视图中打开。
您有任何示例代码或建议吗?
只需将此类添加到项目中即可。按预期工作。
using System; using System.Runtime.InteropServices; public class Taskbar { [DllImport("user32.dll")] private static extern int FindWindow(string className, string windowText); [DllImport("user32.dll")] private static extern int ShowWindow(int hwnd, int command); [DllImport("user32.dll")] public static extern int FindWindowEx(int parentHandle, int childAfter, string className, int windowTitle); [DllImport("user32.dll")] private static extern int GetDesktopWindow(); private const int SW_HIDE = 0; private const int SW_SHOW = 1; protected static int Handle { get { return FindWindow("Shell_TrayWnd", ""); } } protected static int HandleOfStartButton { get { int handleOfDesktop = GetDesktopWindow(); int handleOfStartButton = FindWindowEx(handleOfDesktop, 0, "button", 0); return handleOfStartButton; } } private Taskbar() { // hide ctor } public static void Show() { ShowWindow(Handle, SW_SHOW); ShowWindow(HandleOfStartButton, SW_SHOW); } public static void Hide() { ShowWindow(Handle, SW_HIDE); ShowWindow(HandleOfStartButton, SW_HIDE); } }
用法:
Taskbar.Hide();
你需要使用P / INVOKE
[DllImport("user32.dll")] private static extern int FindWindow(string className, string windowText); [DllImport("user32.dll")] private static extern int ShowWindow(int hwnd, int command); private const int SW_HIDE = 0; private const int SW_SHOW = 1; int hwnd = FindWindow("Shell_TrayWnd",""); ShowWindow(hwnd,SW_HIDE);
我希望有所帮助
您需要从下面的属性设置WinForms应用程序
private void Form1_Load(object sender, EventArgs e) { this.TopMost = true; this.FormBorderStyle = FormBorderStyle.None; this.WindowState = FormWindowState.Maximized; }