【问题标题】:How to Block System Desktop when i Run/Open my Application当我运行/打开我的应用程序时如何阻止系统桌面
【发布时间】:2013-07-30 09:22:32
【问题描述】:

我已经创建了 Windows 应用程序。当我运行这个应用程序时,我想让用户不能访问他们系统中的其他应用程序。那么任何人都可以建议我如何使用 c 锐化编码阻止对桌面/其他应用程序的访问,而不是我的应用程序。

【问题讨论】:

标签: windows c#-4.0


【解决方案1】:

你可以让你的窗口无边框和全屏,然后隐藏任务栏,但这不会阻止人们使用键盘切换到其他应用程序。

我不确定您是否能够“锁定”Windows 以仅运行您的应用程序,您为什么会这样做,它旨在运行多个应用程序,因此在某种程度上您正在与潮流作斗争。

【讨论】:

  • 您好托尼,感谢您的回复。我会按照你的建议试试这个。
【解决方案2】:

您可以使用 Process.Kill 杀死资源管理器

foreach (Process proc in Process.GetProcessesByName("explorer"))
{
   proc.Kill();
}

然后将 explorer.exe 启动到应用程序的析构函数中

【讨论】:

  • 嗨 Oh_my_Geo,感谢您的回复。我不想杀死任何正在运行的进程,只是我想让用户只能访问那个(当前正在运行的)应用程序,其余的他不能访问的东西,比如任务栏、桌面图标等等。他们是什么在系统中。在我关闭我的应用程序后,他可以访问所有内容。
  • 如果您重新启动资源管理器(而不是窗口),所有事情都会重新出现。我可以知道你为什么不想杀探险家吗?因为您没有快捷方式、任务栏,只有您的应用程序。如果您不想终止进程,您可以全屏启动您的应用程序(如托尼所说),但您仍然拥有所有快捷方式。您可以使用挂钩来禁用快捷方式,但它非常响亮,我不建议您这样做。要禁用任务栏,您需要 PInvoke :social.msdn.microsoft.com/Forums/vstudio/en-US/…
  • 嗨 Oh_my_Geo,感谢您的回复。我会按照你的建议试试这个。
猜你喜欢
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-19
  • 2019-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多