C# winform程序,安装之后,如何实现电脑开机自动启动,
百度了,基本上都是一个答案,一样的代码,但是,说的都太简单了,还是不能理解。。
如下
第二种方法:
添加到注册表里直接用代码写到注册表里,也可以手动添加.
E:D:\\tractor.exe//可以是你的程序名和 完整路径就OK了.
也可以手动拖到启动里面....RegistryKey hklm = Application.LocalMachine;
RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\Current\Version\Run");
try
{
run.SetValue("tractor.exe","D:\\tractor.exe");
MessageBox.Show("注册表添加成功!!","提示",MessageBoxButton.OK, MessageBoxIcon.Information);
hklm.Close();
}catch(Exception ee)
{
MessageBox.Show(my.Message.ToString(),"提示",MessageBoxButton.OK, MessageBoxIcon.Error);
}
我想知道,这段网上普遍传的代码。它应该放在程序的什么地方,放在构造函数里面?那样的话,每次程序运行都要执行?或者,我想问,写注册表,是怎么一个流程,什么时候做这件事情,是在程序里面,还是,生成安装项目的时候诶,找来找去,网上的答案永远都是上面的这些话,所以,下面的,就不要贴上面的那段代码了。看的都头晕。。
百度了,基本上都是一个答案,一样的代码,但是,说的都太简单了,还是不能理解。。
如下
第二种方法:
添加到注册表里直接用代码写到注册表里,也可以手动添加.
E:D:\\tractor.exe//可以是你的程序名和 完整路径就OK了.
也可以手动拖到启动里面....RegistryKey hklm = Application.LocalMachine;
RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\Current\Version\Run");
try
{
run.SetValue("tractor.exe","D:\\tractor.exe");
MessageBox.Show("注册表添加成功!!","提示",MessageBoxButton.OK, MessageBoxIcon.Information);
hklm.Close();
}catch(Exception ee)
{
MessageBox.Show(my.Message.ToString(),"提示",MessageBoxButton.OK, MessageBoxIcon.Error);
}
我想知道,这段网上普遍传的代码。它应该放在程序的什么地方,放在构造函数里面?那样的话,每次程序运行都要执行?或者,我想问,写注册表,是怎么一个流程,什么时候做这件事情,是在程序里面,还是,生成安装项目的时候诶,找来找去,网上的答案永远都是上面的这些话,所以,下面的,就不要贴上面的那段代码了。看的都头晕。。
解决方案 »
- 6.急求需要能运行出来的完整程序!急啊!
- 想学习一下C#,VS2008该装哪个版本?Express够用吗?
- 根据类名称,如何得到方法名,并执行方法?
- 找出成绩最高的学生号和课程号
- 请教一个反序列化的问题(从xml的string到对象)
- 平面坐标系排序实现
- 怎样通过文本框想数据库添加数据?
- 想让Enternet开机后自动拨号上网,请大家给个思路,谢谢!
- 最近WIN2000出现一些奇怪的问题
- 关于IDE的问题
- TCP客户端与服务端交互 问题:System.Net.Sockets.SocketException (0x80004005): 远程主机强迫关闭了一个现有的连
- google翻译时不用点击按钮就可以自动出现结果
你可以加一段代码确认该注册表是否已存在
不在再新增,当然每次加也无所谓
注册表(Registry,繁体中文版Windows称之为登錄檔)是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。但是,从Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。
windows启动所需要的参数,几乎都存在那
2、看一下AutoRun.exe
3、bat
第一种就是网上的那种,网注册表里写的。
{
base.Install(stateSaver);
//以下是你的写入注册表的代码
RegistryKey hklm = Application.LocalMachine;
RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\Current\Version\Run");
try
{
run.SetValue("tractor.exe","D:\\tractor.exe");
MessageBox.Show("注册表添加成功!!","提示",MessageBoxButton.OK, MessageBoxIcon.Information);
hklm.Close();
}
catch(Exception ee)
{
MessageBox.Show(my.Message.ToString(),"提示",MessageBoxButton.OK, MessageBoxIcon.Error);
} }
3.在安装的时候,调用安装程序类.
C# code
public override void Install(IDictionary stateSaver)
{
base.Install(stateSaver);
//以下是你的写入注册表的代码
RegistryKey hklm = Application.LocalMachine;
RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\Current\Version\Run");
try
{
run.SetValue("tractor.exe","D:\\tractor.exe");
MessageBox.Show("注册表添加成功!!","提示",MessageBoxButton.OK, MessageBoxIcon.Information);
hklm.Close();
}
catch(Exception ee)
{
MessageBox.Show(my.Message.ToString(),"提示",MessageBoxButton.OK, MessageBoxIcon.Error);
} }中setValue函数能用相对路径吗