发布:2014/10/18 2:45:37作者:管理员 来源:本站 浏览次数:1391
Rar大家都知道吧,它在运行栏中输入“Winrar”就可启动了。怎么回事呢,我们用Visual 开发C#程序能不能也实现这样的功能呢?答案是肯定的!
在
此之前,我们需要先了解Rar的启动是怎么回事:在Windows的注册表中,有一项是专门保存这样的信息的,它就负责在运行中输入命令启动程序。这个注
册表项在:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App
Paths 。它的子项都是可以在运行中启动的。
知道了这点,我们就可以开始了,利用Visual 开发C#程序来操作Windows注册表,来实现这一效果:
这是我做好的程序,界面如下:
创建一个快捷启动:QQ.exe 让它可以启动QQ。
如下:
只要选好QQ的安装路径,点击创建就OK啦。
在 开始>运行 中输入“QQ”就可以启动QQ程序:
启动成功!
关键的操作注册表代码如下(RegeditClass类):
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
namespace CreateStart
{
/// <summary>
/// 注册表操作
/// </summary>
class RegeditClass
{
/// <summary>
/// 创建快捷启动
/// </summary>
/// <param name="name">快捷启动名</param>
/// <param name="path">文件路径</param>
public static void Create(string name, string filePath)
{
RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths", true);
RegistryKey key = reg.CreateSubKey(name);
key.SetValue("", filePath, RegistryValueKind.String);
string path = filePath.Substring(0, filePath.LastIndexOf(@"\") + 1);
key.SetValue("Path", path, RegistryValueKind.String);
}
/// <summary>
/// 检查是否存在
/// </summary>
/// <param name="name">快捷启动名</param>
/// <returns>指定的项是否存在</returns>
public static bool Exist(string name)
{
RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths");
string[] subKeys = reg.GetSubKeyNames();
foreach (string str in subKeys)
{
if (str.ToLower().Equals(name.ToLower()))
return true;
}
return false;
}
}
}
程序源代码在此,DownLoad
在Visual Studio 2005 及其 WinXP 下通过。 运行需要FrameWork 2.0
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4