現在、レジストリを使用してファイルアソシエーションを設定するプログラムがあります(レジストリメソッドを実行する必要があります。問題は、それがHKCRに書き込もうとしているため、(他のマシン上の)管理上の問題に陥っている可能性があるということです。 HKCUや管理者権限を必要としないその他の方法を使用するなど、ファイルの関連付け(.NET 2.0の場合)を設定する、より普遍的な方法がありますか?C# - ファイルアロケーションレジストリキー 'HKEY_CLASSES_ROOT 'へのアクセスが拒否されました
string keyName = "Class";
string keyValue = "Class File";
string apppath = Application.ExecutablePath.ToLower() + " \"%1\"";
RegistryKey key;
key = Registry.ClassesRoot.CreateSubKey(keyName);
key.SetValue("", keyValue);
RegistryKey iconkey;
key = Registry.ClassesRoot.CreateSubKey(keyName);
iconkey = key.CreateSubKey("DefaultIcon");
iconkey.SetValue("", Environment.CurrentDirectory + "\\resources\\musicfile.ico");
key = key.CreateSubKey("shell");
key = key.CreateSubKey("open");
key = key.CreateSubKey("command");
key.SetValue("", apppath);
私は提供した以上の詳細を+1! –
@Davidええ...でも、それはちょっと安いです。あなたはまずそれに答えた、私は投票のために釣った: –
すべての情報ありがとうございました。それはHKCUを使用するほうが適切と思われます。インストーラの場合、私は現在、Visual Studioに付属のインストーラを使用しています。さらに、私のアプリケーションでは、ファイルの関連付けを無効にするオプションがあり、インストーラを超えています。 – user