【发布时间】:2009-10-08 15:12:27
【问题描述】:
我有一个正在运行的程序,它是屏幕底部的一个自动收报机。所有这些功能都很好,但我注意到当我点击 Alt+Tab 时,我会在列表中看到它。我已经将 ShowInTaskbar 设置为 false,但我不希望我的程序出现在此列表中。是否有我忘记的属性或我可以进行 WinAPI 调用来阻止我的应用显示在 Windows Alt+Tab 中?
【问题讨论】:
标签: c#
我有一个正在运行的程序,它是屏幕底部的一个自动收报机。所有这些功能都很好,但我注意到当我点击 Alt+Tab 时,我会在列表中看到它。我已经将 ShowInTaskbar 设置为 false,但我不希望我的程序出现在此列表中。是否有我忘记的属性或我可以进行 WinAPI 调用来阻止我的应用显示在 Windows Alt+Tab 中?
【问题讨论】:
标签: c#
看看这是否有帮助......
Best way to hide a window from the Alt-Tab program switcher?
【讨论】:
我还没有测试过代码,但是在谷歌上搜索了一下,我找到了this:
private static uint WS_POPUP = 0x80000000;
private static uint WS_EX_TOPMOST = 0x00000008;
private static uint WS_EX_TOOLWINDOW = 0x00000080;
protected override CreateParams CreateParams
{
get
{
CreateParams cp = base.CreateParams;
cp.Style = unchecked((int) WS_POPUP);
cp.ExStyle = (int) WS_EX_TOPMOST + (int) WS_EX_TOOLWINDOW;
// Set location
cp.X = 100;
cp.Y = 100;
return cp;
}
}
【讨论】:
您必须将窗口样式设置为工具箱窗口,并将 ShowInTaskbar 设置为 false。只需将窗体的 BorderStyle 更改为 FixedToolWindow 或 SizeableToolWindow。详情请见FormBorderStyle。
【讨论】: