您的位置:首页 > 其它

.Net中如何限制执行程序只能运行一次和如何读写注册表

2008-01-02 10:02 369 查看
最近在做一个MSN风格的自动上传报文的托盘程序时,需要限制程序只能运行一次,找了下,还好在其他项目中找到了相关的资料,代码如下:
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
string processName = System.Diagnostics.Process.GetCurrentProcess().ProcessName;
int matched = 0;
foreach (System.Diagnostics.Process process in System.Diagnostics.Process.GetProcesses())
{
if (processName == process.ProcessName) matched++;
}

if (matched >= 2)
{
return;
}
Application.Run(new Main_Obser());
}

读写注册表的也挺简单的,代码如下:
/// <summary>
/// 在注册表中输入程序自动运行路径
/// </summary>
/// <param name="programPath"></param>
public static void SetRegistryKey(string programPath)
{
try
{
RegistryKey rk = Registry.LocalMachine.CreateSubKey(AUTOUPLOAD_REGISTRY_PATH);
rk.SetValue(DEFAULTNAME, programPath+@"/"+PROGRAM_NAME);
rk.Close();
}
catch
{
}
}
/// <summary>
/// 在注册表中删除程序自动运行路径
/// </summary>
/// <param name="programPath"></param>
public static void deleteRegistryKey()
{
try
{
RegistryKey rk = Registry.LocalMachine.CreateSubKey(AUTOUPLOAD_REGISTRY_PATH);
rk.SetValue(DEFAULTNAME,"");
rk.Close();
}
catch
{
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: