using System;
using System.Collections.Generic;
using System.Windows.Forms;
using Microsoft.Win32;
namespace AppC
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
/// 是否通过关联打开的软件
if (args.Length > 0)
{
string path="";
for(int i=0;i<args.Length;i++)
path+=args[i]+" ";
path=path.TrimEnd(' ');
Console.WriteLine(path);
Console.ReadKey();
//Application.Run(new mainForm(path));
}
else
{
string keyName;
string keyValue;
keyName = "WPCFile";
keyValue = "资源包文件";
RegistryKey isExCommand = null;
bool isCreateRegistry = true;
try
{
/// 检查 文件关联是否创建
isExCommand = Registry.ClassesRoot.OpenSubKey(keyName);
if (isExCommand == null)
{
isCreateRegistry = true;
}
else
{
if (isExCommand.GetValue("Create").ToString() == Application.ExecutablePath.ToString())
{
isCreateRegistry = false;
}
else
{
Registry.ClassesRoot.DeleteSubKeyTree(keyName);
isCreateRegistry = true;
}
}
}
catch (Exception)
{
isCreateRegistry = true;
}
/// 假如 文件关联 还没有创建,或是关联位置已被改变
//if (isCreateRegistry)
{
try
{
RegistryKey key, keyico;
key = Registry.ClassesRoot.CreateSubKey(keyName);
key.SetValue("Create", Application.ExecutablePath.ToString());
keyico = key.CreateSubKey("DefaultIcon");
keyico.SetValue("", Application.ExecutablePath + ",0");
key.SetValue("", keyValue);
key = key.CreateSubKey("Shell");
key = key.CreateSubKey("Open");
key = key.CreateSubKey("Command");
/// 关联的位置
key.SetValue("", Application.ExecutablePath.ToString() + @" %1/");
/// 关联的文件扩展名,
keyName = ".wpc";
keyValue = "WPCFile";
key = Registry.ClassesRoot.CreateSubKey(keyName);
key.SetValue("", keyValue);
}
catch (Exception)
{
}
}
//Application.Run(new mainForm(""));
}
}
}
}