前段时间在做一个截图工具时,需要设置开机自启。后来发现程序不能实现自启动,反而让我有了一些新收获。看下面的的代码,这便是我原来设置开机自启的代码:
//采用IO的方式设置开机自启
RegistryKey hklm = Registry.LocalMachine;
RegistryKey ziqi;
private void button1_Click(object sender, EventArgs e)
{
FileInfo fileinfo = new FileInfo("WindowsFormsApplication1.exe");
ziqi = hklm.CreateSubKey(@"software\microsoft\windows\CurrentVersion\run");
ziqi.SetValue("test", (object)fileinfo.FullName, RegistryValueKind.String);
ziqi.Close();
}
当点击按钮之后,注册表的记录是:
这个路径是正确的。因为我的项目是放在桌面的。当我把机器重启之后,程序的确可以重启。但当我又点击了一下开机自启的按钮之后,注册表的记录是:
在此说明一下,我的系统是Windows 7的。在XP下面我测试时,不是这个记录,是在Document and Setting 下面的文件夹。具体是哪个我忘了。有兴趣的朋友可以自己测试一下。
所以当我重启之后,程序就启不动了,System32下面本就没有我的程序。
至于为什么是这样,我现在也没有弄清楚原因。如果有哪位朋友知道原因,麻烦相告一声。
虽然不知道原因,但是我找到了解决的办法,代码如下:
private void button2_Click(object sender, EventArgs e)
{
Process pr = Process.GetCurrentProcess();
ziqi = hklm.CreateSubKey(@"software\microsoft\windows\CurrentVersion\run");
ziqi.SetValue("test", (object)pr.MainModule.FileName, RegistryValueKind.String);
ziqi.Close();
}
分享到:
相关推荐
将springboot打包成的jar文件做成windows服务,解决java程序自启动问题,适合现场部署后无人看管情况,断电后服务器启动后不用管理springboot服务,不用打开cmd,也不担心现场人员误操作关闭cmd窗口。
#### 二、QT程序自启动问题分析与解决 在Linux系统中,实现QT程序的自启动并不像在Windows下那样简单地添加到注册表中。考虑到Linux的启动流程和初始化脚本的执行顺序,直接在`/etc/init.d/rcS`中添加QT程序的启动...
本文将详细讲解如何使用C#编程语言创建一个开机自启动程序,并介绍如何监视指定程序以及线程的使用。 首先,我们要了解Windows开机启动的基本原理。开机自启动程序通常会在注册表的`HKEY_CURRENT_USER\Software\...
Visual C++源代码 20 如何创建开机自启动程序Visual C++源代码 20 如何创建开机自启动程序Visual C++源代码 20 如何创建开机自启动程序Visual C++源代码 20 如何创建开机自启动程序Visual C++源代码 20 如何创建开机...
程序自启动测试是一种重要的软件功能测试,特别是在系统管理和运维领域,确保程序能够在系统启动时自动运行,以便提供持续的服务或执行必要的任务。本篇博客将以一个具体的例子来讲解这一概念。 首先,我们要理解...
6. **开机自启动**:要使程序在开机时自动启动,可以在程序中写入注册表项。在程序的安装过程中,或者在程序首次运行时,可以调用`RegCreateKeyEx`、`RegSetValueEx`等API函数,将程序的启动路径添加到`HKEY_CURRENT...
总之,这个“安卓自动启动程序.zip”是一个专为PICO VR头盔设计的解决方案,它帮助用户轻松设置应用的开机自启动,确保VR体验的流畅性。同时,理解安卓的自动启动机制以及如何管理自启动应用,对于提升用户体验和...
程序自启动脚本
UBUNTU 添加程序开机自动启动的方法 在 UBUNTU 环境中,添加程序开机自动启动可以通过多种方法实现。下面将详细介绍五种方法: 1. 开机启动时自动运行程序 在 Linux 系统启动过程中,init 进程会根据配置文件继续...
当打印服务停止后,这个程序会自动启动它,从而解决了因服务异常关闭而影响打印作业的问题。这通常对于那些依赖稳定打印功能的企业或个人用户尤其重要。 标签中的“printspooler”进一步强调了讨论的核心,即Print ...
开机后自动打开程序,可自定义设置延迟启动某个单项程序,操作简单
程序自启动是计算机技术中一个常见且重要的概念,它允许应用程序在系统启动时自动运行,无需用户手动干预。这一功能广泛应用于各种软件和服务,包括系统维护工具、后台服务以及用户日常使用的应用程序。下面将详细...
在Windows操作系统中,程序可以通过写入注册表特定键值或利用启动文件夹来实现开机自启动。对于Delphi开发者来说,这涉及到对系统API的调用和注册表操作。 1. **注册表操作**:Windows的注册表(Registry)存储了...
传统的自启动方法通常是将所需启动的应用程序或其快捷方式添加到“启动”文件夹中。这种方法简单易行,但对于需要在用户登录后才执行的应用程序来说并不适用。此外,这种方法也意味着每次系统重启后,都需要等待用户...
程序自动启动和隐藏应用程序图标和窗口 本文讲述如何制作一个程序默认自动启动,在Duck和任务管理器中隐藏应用图标和隐藏应用程序窗口。下面将详细介绍如何实现这三个功能。 一、程序自动启动 程序自动启动是指在...
在本文中,我们将深入探讨如何使用C# Winform技术创建一个程序,使其能够实现开机自启动,并能区分是开机启动还是用户双击运行。Winform是.NET Framework中的一个强大工具,用于构建桌面应用程序,而C#是其常用的...
此外,为了防止恶意软件的滥用,现代操作系统对自启动项有更严格的限制,因此在开发此类功能时,应遵循最佳实践,提供清晰的用户提示和选项。 总的来说,利用VC++编程实现程序自动启动涉及对系统资源的理解和正确...
在Delphi编程环境中,开发能够实现程序自启动的应用程序是一项常见的需求,特别是在Windows操作系统下。Delphi是一款强大的Object Pascal集成开发环境(IDE),它提供了丰富的功能来帮助开发者创建高效的桌面应用。...
开机自启动的程序通常会在用户登录时运行,它们的路径存储在`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run`或`HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run`这两个...
根据给定文件的信息,我们可以提炼出关于EC20如何实现程序自启动的相关知识点。下面将详细阐述这些知识点,包括背景介绍、实现原理、步骤指南以及注意事项等。 ### 一、背景介绍 EC20是一款基于QuecOpen平台的...