繁体   English   中英

使用C#隐藏任务栏

[英]Hide the taskbar using C#

我正在运行Windows XP 64位。 我想在运行我的应用程序时隐藏任务栏。

我通过搜索网络尝试了代码。 在所有这些中,它隐藏了任务栏。 但问题是,当我打开记事本并最大化它时,它实际上并不是全屏。 因为任务栏所在的空间仍然被空白空间阻挡。 我希望它真的适合全屏模式。

如果您想要替换Windows shell(任务栏),则必须更改注册表项。

更改默认shell(所有用户):

  1. 打开注册表(开始菜单>运行,然后键入regedit)
  2. 转至:HKLM \\ SOFTWARE \\ Microsoft \\ Windows NT \\ CurrentVersion \\ Winlogon。
  3. 将Shell从explorer.exe更改为您的程序路径并命名为c:\\ myKioskApp \\ Kiosk.exe

更改默认shell(仅限当前用户):

  1. 打开注册表(开始菜单>运行,然后键入regedit)。
  2. 转到:HKCU \\ Software \\ Microsoft \\ Windows NT \\ CurrentVersion \\ Winlogon。
  3. 添加一个名为shell的新字符串值(Edit> New> String Value)。 并将值设置为新shell的路径,例如c:\\ myKioskApp \\ Kiosk.exe
  4. 注销并重新登录。

我通过使应用程序无边框,最大化并将其设置为Topmost来完成此操作。 这是CodeProject的完美示例

正如其中一位评论者所说, 更换 在安全方面,禁用资源管理器并运行应用程序可能是最好的方法。

您可以通过设置C#表单的以下属性来隐藏任务栏。

WindowState:最大化FormBorderStyle:FixedDialog

在窗口7(或更高)使用FormWindowState.Maximized是错误的,因为最大尺寸将被任务栏高度减去,但你可以这样做

this.WindowState = FormWindowState.Normal; // or default
this.FormBorderStyle = FormBorderStyle.None;
this.TopMost = true;

// do it here
this.Location = new Point(0,0);
var fullscreenSize = new Size(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height);
this.Size = fullscreenSize;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM