c#能否让窗口在桌面图标和任务栏以下?

类似于动态桌面之类的
2025-03-28 13:48:13
推荐回答(2个)
回答1:

这个与软件无关 跟你的桌面设置有关
如果想实现把任务栏动态隐藏显示
1.导入System.Runtime.InteropServices命名空间。
2.API函数ShowWindow()能够控制人和窗体的现实状态,其声明格式如下:

[DllImport("user32.dll")]
public static extern int ShowWindow(int hwnd,int nCmdShow);
其中hwnd表示窗体的句柄,nCmdShow表示窗体的现实状态。
3.API函数FindWindow()可用于返回任务栏所在窗体类“Shell_TrayWnd”句柄,其声明格式如下:

复制代码代码如下:
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName,string lpWindowName);
实例如下,主要代码为(使用了2个btn控件):
private const int SW_HIDE = 0; //隐藏任务栏
private const int SW_RESTORE = 9;//显示任务栏

[DllImport("user32.dll")]
public static extern int ShowWindow(int hwnd,int nCmdShow);
[DllImport("user32.dll")]
public static extern int FindWindow(string lpClassName,string lpWindowName);
private void button1_Click(object sender, EventArgs e)
{
ShowWindow(FindWindow("Shell_TrayWnd",null),SW_HIDE);
//YinYiNiao's Blog
}
private void button2_Click(object sender, EventArgs e)
{
ShowWindow(FindWindow("Shell_TrayWnd",null),SW_RESTORE);
}
实际项目里不能放到button的click事件里,要放在mousemove里
其他具体操作你自己来写

回答2:

是指移动到边上就隐藏?像QQ那样,或像DELL工具栏软件那样?