yanyanyan168 发表于 2017-8-9 10:48:39

如何让windows启动后直接进入指定程序但是不显示windows桌面

        如何让windows启动后直接进入指定程序但是不显示windows桌面?
具体为:我做了一个123.exe的全屏程序,但是发现我把123.exe的快捷方式放入 开始->所有程序->启动 后,在启动之前,还是会进入windows的界面,也就是还能看到例如 “我的电脑”“我的文档”之类的桌面文件/文件夹,请问如何设置?或者,还需要制作什么图片?

        也不想用户看到windows原装开机过程,显示自定义的开机过程。
希望有经验的坛友指导,避免走弯路。多谢了。

albert.hu 发表于 2017-8-9 10:55:32

没试验过,你试试任务管理器结束 Explorer然后进命令行 cmd   替换explorer为你的exe(把123.exe改为explorer.exe)

金色大元宝 发表于 2017-8-9 10:57:09

做成windows服务。

zxq6 发表于 2017-8-9 10:57:27

曾经在win2k上用过,直接替换explorer.exe,系统就不会进入桌面,而是直接运行你的exe
替换的地方有2处,除了c:/windows下外,还有个地方,用搜索即可,具体忘记了。
win2k以上的,不清楚了。

glacier1 发表于 2017-8-9 10:59:27

运行你的123.exe
进任务管理器结束掉explorer
网上下载一个系统保护的软件
然后进系统休眠。

这样以后开机每次都会直接进入你休眠前的状态,也就是123.exe
运行中断电也是一样。

另外windows开机界面修改的话网上教程太多就不细说了。
BIOS的自检或是LOGO这个就要具体分析了。

fengyunyu 发表于 2017-8-9 10:59:55

参考ATM机

yanyanyan168 发表于 2017-8-9 11:00:02

网上有很多方法,不知道哪个可行。做过的帮忙指导下。

ZY71 发表于 2017-8-9 11:09:42

把你那个软件设置为开机启动不就行了,WIN7的话可以试试把快捷方式放在   ...\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup文件夹下

SkyGz 发表于 2017-8-9 11:13:01

注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonShell键,值改为 你的程序文件名, 无需替换explorer.exe 以后想改回来, 只要改这里还原为explorer.exe即可

tcm123 发表于 2017-8-9 11:44:34

用嵌入式版本 如WIN10 IOT

tcm123 发表于 2017-8-9 11:45:55

MSCONFIG 里选中无GUI启动 可以去年LOGO界面

霸气侧漏 发表于 2017-8-9 12:13:58

注册表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonShell键,值改为 你的程序文件名, 无需替换explorer.exe 以后想改回来, 只要改这里还原为explorer.exe即可


这个方法是可行的,我就是这样做的,这样就进不我的电脑,可以通过任务管理器新建任务来打开我的电脑

daiqx 发表于 2017-8-9 12:19:41

本帖最后由 daiqx 于 2017-8-9 12:22 编辑

编辑掉,我以为是远程桌面的那种哈

wye11083 发表于 2017-8-9 12:24:55

fengyunyu 发表于 2017-8-9 10:59
参考ATM机

atm是启动进桌面后才跑的程序,而且是2k系统。

yuyu87 发表于 2017-8-9 12:41:57

这是我的程序,替换默认桌面,你看看就知道了
                        var regkey = RegistryKey.OpenBaseKey(RegistryHive.CurrentUser, RegistryView.Default);
                        var subkey = regkey.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon");
                        var value = subkey.GetValue("Shell");

                        var fn = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;
                        if (value == null || value.ToString() != "idc_start.cmd")
                        {
                                try
                                {
                                        MsgBox.Show("首次启用本软件\r\n正在替换默认桌面程序\r\n点击【确定】按钮生效。");
                                        System.IO.File.WriteAllText(@"c:\windows\idc_start.cmd", $"@echo off\r\necho 正在加载XXXXXX机软件\r\n\"{fn}\"\r\nstart explorer", System.Text.Encoding.Default);
                                        var fn2 = Properties.Resources.auto_reg.Replace("{fn}", "idc_start.cmd");
                                        System.IO.File.WriteAllText("auto.reg", fn2);
                                        System.Diagnostics.Process.Start("auto.reg");
                                }
                                catch
                                {
                                        MsgBox.Show("首次启用本软件\r\n请以管理员模式运行。");
                                        Environment.Exit(-5);
                                }
                        }

zulu 发表于 2017-8-9 13:09:33

就是上面说的做成服务,只要开机,不用登录,自动运行

chinaboy25 发表于 2021-2-27 09:50:11

yuyu87 发表于 2017-8-9 12:41
这是我的程序,替换默认桌面,你看看就知道了
                        var regkey = RegistryKey.OpenBaseKey(RegistryHive.Curr ...

make   ;

zhq0571 发表于 2021-2-27 11:03:05

学习      
页: [1]
查看完整版本: 如何让windows启动后直接进入指定程序但是不显示windows桌面