예제 #1
0
        /// *******************************************************************
        /// <summary>
        /// コンテキストメニューから削除
        /// ※管理者権限での実行が必要
        /// </summary>
        /// *******************************************************************
        public static void DelContextMenu()
        {
            string verb_01 = VERD_01;
            string verb_02 = VERD_02;

            //レジストリキーを削除
            try {
                Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(SRC_TARGET + verb_01);
                Microsoft.Win32.Registry.ClassesRoot.DeleteSubKeyTree(DST_TARGET + verb_02);
            } catch {
                MsgUtillity.ShowMsg("例外が発生しました。(管理者権限で実行してください)", MsgType.ERR);
                return;
            }
        }
예제 #2
0
        /// *******************************************************************
        /// <summary>
        /// コンテキストメニューに追加
        /// ※管理者権限での実行が必要
        /// </summary>
        /// *******************************************************************
        public static void AddContextMenu()
        {
            // 実行するコマンドライン
            string commandline_01 = "\"" + Application.ExecutablePath + "\" \"%1\" " + "\"" + CONTEXT_CMD_01 + "\"";
            string commandline_02 = "\"" + Application.ExecutablePath + "\" \"%V\" " + "\"" + CONTEXT_CMD_02 + "\"";

            // 説明(エクスプローラのコンテキストメニューに表示される)
            string description_01 = "リンク対象に選択(&L)";
            string description_02 = "相対リンクに変換(&C)";

            string verb_01 = VERD_01;
            string verb_02 = VERD_02;

            //フォルダへの関連付けを行う
            try {
                Microsoft.Win32.RegistryKey cmdkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(SRC_TARGET + verb_01 + "\\command");
                cmdkey.SetValue("", commandline_01);
                cmdkey.Close();

                //説明を書き込む
                Microsoft.Win32.RegistryKey verbkey = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(SRC_TARGET + verb_01);
                verbkey.SetValue("", description_01);
                verbkey.Close();

                Microsoft.Win32.RegistryKey cmdkey_02 = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(DST_TARGET + verb_02 + "\\command");
                cmdkey_02.SetValue("", commandline_02);
                cmdkey_02.Close();

                //説明を書き込む
                Microsoft.Win32.RegistryKey verbkey_02 = Microsoft.Win32.Registry.ClassesRoot.CreateSubKey(DST_TARGET + verb_02);
                verbkey_02.SetValue("", description_02);
                verbkey_02.Close();
            } catch {
                MsgUtillity.ShowMsg("例外が発生しました。(管理者権限で実行してください)", MsgType.ERR);
                return;
            }
        }