用C#写Winform程序,怎么写代码让其随电脑启动而启动 这些天写了一个小程序,我想让它随着电脑启动而启动,该怎么来写代码呢?期盼。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写入注册表using Microsoft.VisualBasic; RegistryKey rkApp = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (rkApp.GetValue("AutoLoad") == null) rkApp.SetValue("AutoLoad", Application.ExecutablePath.ToString()); 你只要把你的启动程序放在系统的启动进程中就好了,你可以看见Windows启动菜单里就有启动,你只要加在后面就好了,如果想用程序实现,可以直接上网找,这种东西还是比较多的 同意二楼 让WINDOWS自己办就好~ http://www.cnblogs.com/JasonChou/archive/2009/04/14/1435937.html http://www.cnblogs.com/JasonChou/archive/2009/04/14/1435937.html 直接将程序拖到windows的开始的启动后面就ok了! 他们说的都有道理,如果不想让对方发现还是写入注册表比较好程序对注册表操作需要添加microsoft.win32命名空间 在控制面板中的任务计划中追加你要运行的那个exe文件,设置每次开机时运行就OK了,不需要写什么代码了 string strName = Application.ExecutablePath; if (!File.Exists(strName)) return; string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1); RegistryKey RKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (RKey == null) RKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); RKey.SetValue(strnewName, strName); MessageBox.Show("程序设置完成,重新启动计算机后即可生效!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); using Microsoft.Win32code=C#]private void RunWhenStart(string name,string path){RegistryKey HKML=Registry.LocalMachine;Registrykey Run=HKML.CreateSubkey(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\Run");try{Run.SetValue(name,path);HKML.Close();}catch(Exception e){MessageBox.Show("设置开机启动失败");}}[/code] string vTempStr= Application.ExecutablePath; if (!File.Exists(vTempStr)) { return;} string vName = strName.Substring(strName.LastIndexOf("\\") + 1); RegistryKey vKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (vKey == null) {vKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");} RKey.SetValue(vName , vTempStr); 更多解决方案请访问:SalePlayer.Com 新建项目,windows服务,将要执行的部分做成一个服务然后代码里面,while(true){},定义一个新的线程,执行这个线程就好了 public static void SetRegistryIsStart(bool IsStart) { if (IsStart) { try { string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe"; string ShortFileName = Application.ProductName; RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true); if (rgkRun == null) { rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run"); rgkRun.SetValue(ShortFileName, strAssName); } else { rgkRun.SetValue(ShortFileName, strAssName); } } catch { } } else { try { Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true).DeleteValue(Application.ProductName, false); } catch { } } } 自定义控件的鼠标事件!! c# 求从外面拖入文件 求助~~C#的水晶报表异常! 关于winform treeview控件几个问题,想请大家指教下。 多条件查询数据库并显示(c#与ASP.NET) 写的内存搜索程序为什么搜索不出来值? 一个关于winform DrawTools画图程序的问题 DataGrid+CheckBoxList应用问题 C#获取SQL存储过程参数问题 请教两个关于数据库的问题 问个关于数据转换的问题....大家来帮帮忙 VS2005 “System.Web.UI.WebControls.TreeNode”并不包含“Nodes”的定义
rkApp.SetValue("AutoLoad", Application.ExecutablePath.ToString());
程序对注册表操作需要添加microsoft.win32命名空间
if (!File.Exists(strName))
return;
string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);
RegistryKey RKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (RKey == null)
RKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
RKey.SetValue(strnewName, strName);
MessageBox.Show("程序设置完成,重新启动计算机后即可生效!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
code=C#]
private void RunWhenStart(string name,string path)
{
RegistryKey HKML=Registry.LocalMachine;
Registrykey Run=HKML.CreateSubkey(@"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\Run");
try
{
Run.SetValue(name,path);
HKML.Close();
}
catch(Exception e)
{
MessageBox.Show("设置开机启动失败");
}}[/code]
if (!File.Exists(vTempStr))
{
return;
}
string vName = strName.Substring(strName.LastIndexOf("\\") + 1);
RegistryKey vKey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (vKey == null)
{
vKey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
}
RKey.SetValue(vName , vTempStr);
将要执行的部分做成一个服务
然后代码里面,while(true){},定义一个新的线程,执行这个线程就好了
{
if (IsStart)
{
try
{
string strAssName = Application.StartupPath + @"\" + Application.ProductName + @".exe";
string ShortFileName = Application.ProductName; RegistryKey rgkRun = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);
if (rgkRun == null)
{
rgkRun = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");
rgkRun.SetValue(ShortFileName, strAssName);
}
else
{
rgkRun.SetValue(ShortFileName, strAssName);
}
}
catch
{
}
}
else
{
try
{
Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true).DeleteValue(Application.ProductName, false);
}
catch
{ }
}
}