//首先调用Win32 的申明:
using System.Runtime.InteropServices;
//1.窗体不显示在任务栏
const int EXSTYLE = -20;
const int WS_EX_NOANIMATION = 0x04000000;
[DllImport("coredll.dll", SetLastError=true)]
public static extern void SetWindowLong(IntPtr hWnd, int GetWindowLongParam, uint nValue);
[DllImport("coredll.dll", SetLastError=true)]
public static extern uint GetWindowLong(IntPtr hWnd, int nItem);
[DllImport("coredll.dll")]
private static extern IntPtr GetCapture();
void NotShowInTaskbar()
{
Capture = true;
IntPtr hwnd = GetCapture();
Capture = false;
uint style = GetWindowLong(hwnd, EXSTYLE);
style |= WS_EX_NOANIMATION;
SetWindowLong(hwnd, EXSTYLE, style);
}
//2.最小化窗体
[DllImport("coredll.dll")]
static extern int ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_MINIMIZED = 6;
void MiniMize()
{
ShowWindow(this.Handle, SW_MINIMIZED);
}
using System.Runtime.InteropServices;
//1.窗体不显示在任务栏
const int EXSTYLE = -20;
const int WS_EX_NOANIMATION = 0x04000000;
[DllImport("coredll.dll", SetLastError=true)]
public static extern void SetWindowLong(IntPtr hWnd, int GetWindowLongParam, uint nValue);
[DllImport("coredll.dll", SetLastError=true)]
public static extern uint GetWindowLong(IntPtr hWnd, int nItem);
[DllImport("coredll.dll")]
private static extern IntPtr GetCapture();
void NotShowInTaskbar()
{
Capture = true;
IntPtr hwnd = GetCapture();
Capture = false;
uint style = GetWindowLong(hwnd, EXSTYLE);
style |= WS_EX_NOANIMATION;
SetWindowLong(hwnd, EXSTYLE, style);
}
//2.最小化窗体
[DllImport("coredll.dll")]
static extern int ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_MINIMIZED = 6;
void MiniMize()
{
ShowWindow(this.Handle, SW_MINIMIZED);
}

本文介绍了如何通过C#调用Win32 API实现窗体不在任务栏显示及最小化功能。具体包括设置窗体样式使其不在任务栏显示,并演示了如何通过API将窗体最小化。
2616

被折叠的 条评论
为什么被折叠?



