c# 开机自动启动,不允许显示系统桌面

2019-02-11 16:25:54 +08:00
 yss729

最近接到一个需求,要做一个自定义桌面,限制系统级别的操作,比如禁用注册表,任务管理器,开始菜单和安全模式等, 员工电脑只能在这个桌面上管理日常的应用,目的是方便公司管理员管理。

先不讨论通过组策略或者云桌面什么的。现有的功能做的差不多了,但是开机自启动,客户想输入密码从系统欢迎页进入系统后,能直接弹出自定义桌面。目前实际过程中会在原系统桌面上停留个几秒时间来加载系统服务,有没有办法在欢迎页进入到系统后就立马弹出我的程序,或者换一种思路能控制欢迎页面的等待时间,所有东西加载完后进去就看到自定义的桌面。

9801 次点击
所在节点    C#
12 条回复
mmdsun
2019-02-11 16:31:05 +08:00
记得 windows embedded standard 可以自定义启动桌面。win7 应该差不多。看一下 embedded standard 的文档吧。
ixiaozhi
2019-02-11 16:34:56 +08:00
有个简单的想法,桌面不留任何快捷方式,任务栏隐藏,换个应用第一屏的壁纸...
mmdsun
2019-02-11 16:35:48 +08:00
关键字是:Custom Shell 可以改注册表。谷歌一下
Mithril
2019-02-11 16:46:29 +08:00
Desktop 实际上是 Explorer 那个程序提供的,你可以试试把它直接禁掉,同时设置一个 User Logon 启动的程序。
当然最好的办法就是 @mmdsun 说的直接用 custom shell
yss729
2019-02-11 16:49:27 +08:00
@mmdsun 谢谢大神,我目前程序是用 c#写的,基于.netframework4.5,如果用 custom shell 方案是要重写的对吧,而且好像还要用 c/c++?
yss729
2019-02-11 16:53:33 +08:00
@Mithril 谢谢,你这个也是一个办法,我也想过,我的程序是用 c#写的,如果能控制到进入系统前先结束 explorer.exe 进程,能保证我的桌面能起来那也是可以的,无非在我桌面启动后再恢复那个进程,我的程序已设置优先保证在最前端位置,最大化,禁用了最小化和关闭按钮,包括禁用了一些能产生退出效果的快捷键。custom shell 可能是更好的方案,但现阶段我只能通过应用层面去控制
Mithril
2019-02-11 16:56:39 +08:00
@yss729 那个 Explorer 启动不启动无所谓,不启动也就是部分系统功能用不了,应该不会影响你这种程序的。
mmdsun
2019-02-11 16:58:54 +08:00
不用 c++,办法很多 。这里有不少解决思路:

https://stackoverflow.com/questions/33364908/how-to-run-an-application-as-shell-replacement-on-windows-10-enterprise

@echo off
echo Bootstrapping, please wait ...
start /b "Bootstrap" "C:\vmwatcher\VMViewClientWatcher.exe"

https://msdn.microsoft.com/en-us/library/ms838576(v=WinEmbedded.5).aspx
yss729
2019-02-11 17:14:24 +08:00
@mmdsun 非常感谢,根据那个注册表键把 explorer.exe 改成我的应用程序应该就能完美解决! 第一次在 V2EX 提问,大家真的很棒!!
Linda0822
2019-07-05 11:19:26 +08:00
@mmdsun 新人有个问题想请教大家,win 系统启动服务后不能编辑和修改 IP 和 DNS 信息,适应系统要 xp 到 win10,这个有人懂没?
mmdsun
2019-07-06 12:02:44 +08:00
@Linda0822 这块不太了解。建议你单独开贴提问吧。
Linda0822
2019-07-09 12:01:18 +08:00
@mmdsun 好的谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/533966

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX