C# 设置程序开机自动运行/设置&获取程序的安装路径
来源:互联网 发布:本地yum配置 编辑:程序博客网 时间:2024/05/29 05:07
1. C#如何设置开机自动运行
a. 包含命名空间 using Microsoft.Win32;
b. 取得程序的安装路径
private void checkBoxAutoRun_CheckedChanged(object sender, EventArgs e)
{
string filename = InstallDir + "//DesktopAssistant.exe";
pagestatus.SetAutoRun(filename,checkBoxAutoRun.Checked);
}
c. 设置注册表的run 项新增值
public void SetAutoRun(string fileName,bool isAutoRun)
{
RegistryKey reg = null;
try
{
String name = fileName.Substring(fileName.LastIndexOf("//") + 1);
reg = Registry.LocalMachine.OpenSubKey("SOFTWARE//Microsoft//Windows//CurrentVersion//Run", true);
if (reg == null)
reg = Registry.LocalMachine.CreateSubKey("SOFTWARE//Microsoft//Windows//CurrentVersion//Run");
if (isAutoRun)
reg.SetValue(name, fileName);
else
reg.SetValue(name, false);
}
catch (Exception ex)
{
throw new Exception(ex.ToString());
}
finally
{
if(reg!=null)
reg.Close();
}
}
下图为注册表中添加了DesktopAssistant的开机启动项:
2. C#如何设置/获取程序的安装路径
由于安装路径可以由用户更改,因此上述b中的InstallDir需要根据实际安装路径设置。
a. 设置安装路径可以在新建安装项目时在一个注册表目录下新建一个“环境字符串值”,并将value设为[TARGETDIR],这样可以将[TARGETDIR]保存在注册表中:
下图在HKET_LOCAL_MACHINE/Software/[Manufacturer]下设置一个name为InstallPath的“环境字符串值”,value设为[TARGETDIR]。
[Manufacturer]为新建安装项目的Manufacturer属性设置值。
下图为新添加的注册表项,安装路径自动赋给了InstallPath项:
b.获取注册表中的安装目录,程序段:
RegistryKey reg = null;
String name = "InstallPath";
reg = Registry.LocalMachine.OpenSubKey("SOFTWARE//ADADesktopAssistant", true);
if (reg != null)
{
if (reg.GetValue(name) == null)
{
return false;
}
else
{
InstallDir = (string)reg.GetValue(name);
return true;
}
}
return false;
- C# 设置程序开机自动运行/设置&获取程序的安装路径
- C# 设置程序开机自动运行/设置&获取程序的安装路径
- 将程序设置为开机自动运行
- Linux下开机自动运行程序设置
- 开机自动运行程序的注册表设置及写法
- VB.NET里设置程序的开机自动运行
- buildroot设置开机自动运行程序和自动登录
- wince6.0桌面背景+设置默认IP+开机自动运行程序
- 请教开机后自动运行程序怎么设置啊!
- C#程序 设置开机启动
- C# 获取运行程序路径的方法
- C# WinForm自定程序 安装后开机自动运行
- 将程序设置成为开机自动执行的程序(十二)
- LINUX中自动运行程序的设置
- C# 设置应用程序开机自动运行
- C# 设置应用程序开机自动运行
- Linux自动运行程序设置
- 设置开机自动运行
- 互联网行业预言
- ImageMagick高级用法
- 关二哥给出的解决读取网页乱码的一个方案--转自csdn
- linux内存管理
- epoll 模型-client
- C# 设置程序开机自动运行/设置&获取程序的安装路径
- [转]linux getopts与shift学习笔记
- Java synchronized同步机制
- DLL注入,卸载
- mount jffs2 image
- linux的启动过程
- 个人和企业都需要用项目管理来武装自己
- grep命令的-o和-P选项
- 总结一致性哈希(Consistent Hashing)