C# 使用C隐藏任务栏#

C# 使用C隐藏任务栏#,c#,windows,security,kiosk,C#,Windows,Security,Kiosk,我正在运行64位Windows XP。我想在运行应用程序时隐藏任务栏 我在网上搜索代码。在所有这些中,它隐藏了任务栏。但问题是,当我打开记事本并将其最大化时,它实际上并没有进入全屏。因为任务栏所在的空间仍然被空空间阻塞。我希望它真正适合全屏模式。我通过使应用程序无边界、最大化并将其设置为最顶层来实现这一点。这是一个代码项目 正如一位评论者所说,从安全角度来看,更换禁用资源管理器并运行应用程序可能是最好的方法。如果您想更换windows外壳(任务栏),您必须更改注册表项 更改默认shell(所有用

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


我在网上搜索代码。在所有这些中,它隐藏了任务栏。但问题是,当我打开记事本并将其最大化时,它实际上并没有进入全屏。因为任务栏所在的空间仍然被空空间阻塞。我希望它真正适合全屏模式。

我通过使应用程序无边界、最大化并将其设置为最顶层来实现这一点。这是一个代码项目


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

如果您想更换windows外壳(任务栏),您必须更改注册表项

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

  • 打开regedit(开始菜单>运行,然后键入regedit)
  • 转到:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
  • 将Shell从explorer.exe更改为程序路径和名称,例如c:\myKioskApp\Kiosk.exe
  • 更改默认shell(仅限当前用户):

  • 打开regedit(开始菜单>运行,然后键入regedit)
  • 转到:HKCU\Software\Microsoft\Windows NT\CurrentVersion\Winlogon
  • 添加一个名为shell的新字符串值(编辑>新建>字符串值)。并将该值设置为新shell的路径,例如c:\myKioskApp\Kiosk.exe
  • 注销并重新登录

  • 您可以通过设置C#窗体的以下属性来隐藏任务栏

    窗口状态:最大化 FormBorderStyle:FixedDialog

    在窗口7(或更高版本)上使用
    FormWindowsState。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;
    

    我将重新编写此文件,使用C#使应用程序全屏显示,因为您真正想要的是全屏显示,而不是通过编程向用户隐藏操作系统的某些部分(可能是用户想要的)。@sixlettervariables,隐藏任务栏的目的是不允许用户使用任务栏中的开始按钮。所以我需要把它藏起来。这是Kiosk应用程序,因此我禁用了所有快捷键和windows键。您可能想用自己的自定义程序替换默认shell。如果你的程序要运行一个信息亭,那么这可能比试图隐藏/禁用资源管理器功能更容易。那么他的问题不是如何用C#隐藏任务栏,而是如何用C#制作一个信息亭应用程序。当然,你不能用C#替换资源管理器。。。但我同意这是最好的选择,只要它是一个选项。我知道我可以在任务管理器中杀死Explorer.exe进程-浏览器窗口和任务栏消失。不过,我不知道是否有可能或明智地通过编程方式终止它。