private string LoadSart()
{
string str= System.Environment.CommandLine;
str= Syste
m.Text.RegularExpressions.Regex.Replace(str, "\".+\"","").Trim();
// noby.Message(str);
// listBox1.Items.Add(str);
//コマンドラインを配列で取得する
//string[] cmds;
//cmds = System.Environment.GetCommandLineArgs();
// pnlCenter2_Setting.Visible = true;
//コマンドライン引数の表示
//for (int index = 1; index < cmds.Length; index++)
//{
// //listBox1.Items.Add(cmds[index]);
// string cmd = cmds[index];
// str +=" "+cmd;
//}
try
{
//実行するコマンドライン
string commandline = "\"" + Application.ExecutablePath + "\" %1";
string commandline2 = "\"" + Application.ExecutablePath + "\" %V";
string commandline3 = "\"" + Application.ExecutablePath + "\",0";
//説明(エクスプローラのコンテキストメニューに表示される)
//個々のファイルを右クリックしたとき
RegistryKey regVersion = Registry.ClassesRoot.OpenSubKey("*\\shell\\" + gro.productName + "\\command");
//フォルダを右クリックしたとき
RegistryKey regVersion2= Registry.ClassesRoot.OpenSubKey("Folder\\shell\\" + gro.productName + "\\command");
//フォルダ内の余白を右クリックしたとき
RegistryKey regVersion3 = Registry.ClassesRoot.OpenSubKey("Directory\\Background\\shell\\" + gro.productName + "\\command");
if (regVersion == null)
{
const string regFn = "*\\shell\\" + gro.productName;
//フォルダへの関連付けを行う
RegistryKey regkey =Registry.ClassesRoot.CreateSubKey(regFn+"\\command");
if (regkey != null) regkey.SetValue("", commandline);
regkey =Registry.ClassesRoot.CreateSubKey(regFn);
if (regkey != null)regkey.SetValue("Icon", commandline3);
if (regkey != null) regkey.Close();
}
if (regVersion2 == null)
{
const string regFn = "Folder\\shell\\" + gro.productName;
//フォルダへの関連付けを行う
RegistryKey regkey = Registry.ClassesRoot.CreateSubKey(regFn + "\\command");
if (regkey != null) regkey.SetValue("", commandline);
regkey = Registry.ClassesRoot.CreateSubKey(regFn);
if (regkey != null) regkey.SetValue("Icon", commandline3);
if (regkey != null) regkey.Close();
}
if (regVersion3 == null)
{
const string regFn = "Directory\\Background\\shell\\" + gro.productName;
//フォルダへの関連付けを行う
RegistryKey regkey = Registry.ClassesRoot.CreateSubKey(regFn + "\\command");
if (regkey != null) regkey.SetValue("", commandline2);
regkey = Registry.ClassesRoot.CreateSubKey(regFn);
if (regkey != null) regkey.SetValue("Icon", commandline3);
if (regkey != null) regkey.Close();
}
}
catch (Exception d)
{
// noby.Message(d.ToString());
RestartApplication();
}
//コマンドライン引数があるとき
if (str != "")
{
gro.mEthod = gro.MethodFromFolder;
// 拡張子が存在していればフォルダ名のみを得る
if (Path.GetExtension(str) != "")
str = Path.GetDirectoryName(str);
string[] fileName = new string[1] { str };
FolderBegin(fileName);
}
return Environment.CommandLine;
}