windows启动后直接进入指定程序并且不显示欢迎界面和windows桌面

windows启动后直接进入指定程序并且不显示欢迎界面和windows桌面

前言

由于系统需求需要做到电脑开机后显示完windows加载页面就直接进入自己系统的界面,并且不显示登录欢迎页面,查阅了很多资料,得到的进入指定程序方法如下:

开机进入指定程序

方法

更改注册表(打开注册表快捷方式"WIN+R 输入regedit 按回车)

定位HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon, 将Shell键值改为你的程序文件名,如将explorer.exe替换为:d:\work\release\test.exe ,推荐先改为notepad.exe 进行测试:

问题

修改Shell键的方法确实可以实现开机后进入指定程序界面,但却无法跳过windows的欢迎屏幕,于是又查阅资料,很多都说操作如下可以去掉欢迎界面:

复制代码
1. win键+R,输入"gpedit.msc"回车
2. 定位到计算机配置->管理模板->系统->登录
3. 双击右侧"登录时不显示欢迎屏幕",点击"已启用",确定

但是这个方法对win10系统根本就不起作用,该功能支持的平台仅Windows 2000,那些推荐这个方法的博主些为什么都不去验证一下呢?生气!!!

浅尝GINA和Credential Providers

没办法,继续翻墙查阅相关资料,也看了不少windows系统方面的文档,熟悉了操作系统的安全登录机制和身份机制。如windows xp的自定义GINA和windows 7版本以上的凭据提供程序

所谓凭据就是提供了一种身份认证的方式,原有的 Windows 身份认证方式就是开机的时候需要你输入密码。而通过微软提供这套接口你可以实现丰富的身份认证方式,比如指纹、人脸和虹膜识别、USB-Key等任意修改 Windows 系统登录时的界面。比较有名的有些一些应该了解过的产品就是 ThinkPad 的指纹解锁功能,通过验证指纹来解锁计算机,当你了解了实现机制以后,硬件条件允许的情况下,你也可以做一套自己的身份认证系统。

想的是通过修改登录欢迎页面来模拟自己程序的启动页面,于是github上下载了CredentialProvider官方示例源码进行编译和修改注册表后弄来弄去最后做成这样:

发现Credential Providers自定义凭据提供程序并不能改变登录页面的背景图片和取消界面上的所有元素。最后发现Credential Providers文档中有如下一段话:

就是说 :

不显⽰⽤⼾名、登录状态或平铺图像这些功能现在都由登录 UI 处理,⽆需凭据提供程序进⾏任何额外⼯作"。

好吧,这不是它的职责,又回到了起点,于是又在虚拟机中去捣腾注册表了,最后经过不断的尝试,终于找到了解决办法!

关闭欢迎屏幕

前提

首先电脑不能有开机密码,其次windows 10系统版本太低也不行,比如1803,1709都不行,后来换成windows10_21h1的business版和comsumer版亲测有效。
具体操作如下:

  1. 在"控制面板">"程序">"启用或关闭windows功能">"设备锁定"中勾选"自定义登录"和"无商标的启动"项目,如图:
  1. 打开注册表,定位到"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Embedded\EmbeddedLogon",设置BrandingNeutral如下:
Value值 Description 描述
1 禁用所有欢迎屏幕UI元素。
2 禁用电源按钮。
4 禁用"语言"按钮。
8 禁用"轻松访问"按钮。
16 禁用"切换"用户按钮。
32 禁用阻塞关闭解决程序(BSDR)屏幕,以便重新启动或关闭系统时,操作系统会立即强制关闭任何阻止系统关闭的应用程序。没有UI显示,用户没有机会取消关机过程。如果任何打开的应用程序有未保存的数据,则可能导致数据丢失。

因此将BrandingNeutral 项设置为1即可。

您可以进一步将HideAutoLogonUIHideFirstLogonAnimation 设置为 1 以隐藏欢迎屏幕 。

至此,你开机重启后应该再也见不到欢迎屏幕了。

相关推荐
C++ 老炮儿的技术栈1 小时前
自定义CString类与MFC CString类接口对比
c语言·c++·windows·qt·mfc
不讲废话的小白2 小时前
Windows系统永久暂停更新操作步骤
windows
正经教主4 小时前
【基础】Windows开发设置入门4:Windows、Python、Linux和Node.js包管理器的作用和区别(AI整理)
linux·windows·python·包管理器
明月与玄武4 小时前
Pywinauto:轻松实现Windows桌面自动化实战
windows·pywinauto·windows桌面自动化
渴望技术的猿5 小时前
Windows 本地部署MinerU详细教程
java·windows·python·mineru
Mast Sail1 天前
windows下authas调试tomcat
java·windows·tomcat·authas
疯狂的挖掘机1 天前
记一次从windows连接远程Linux系统来控制设备采集数据方法
linux·运维·windows
前进的程序员1 天前
C++ 在 Windows 和 Linux 平台上的开发差异及常见问题
linux·c++·windows
大笨象、小笨熊1 天前
【Win32 API】 lstrcpyA()
windows
双叶8361 天前
(C语言)超市管理系统 (正式版)(指针)(数据结构)(清屏操作)(文件读写)
c语言·开发语言·数据结构·c++·windows