掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PDFファイルの関連付けについて (ID:46543)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
・開発環境:Windows2003Server ・言語 :Delphi2007 for win32 ・実行環境:Windows7, Windows2008R2Server 次のコードでアプリケーションの関連付けとその解除をしています。 関連付けした後に解除を行い、PDFをアクロバットリーダに変更して更に関連付けをすると、関連付けがされません。 当方、レジストリには不案内なもので、色々と検索したりしてみましたが、皆さんのお知恵をお借りできればと思い、藁をもすがる気持ちです。 宜しくお願いします。 ※プレフィクス「M_」で始まるのは当方で作っているアプリ名の定数です。 なお、作っているアプリはSDKを購入して開発しています。 // アプリケーションの関連付け objRegistry := TRegistry.Create; with objRegistry do begin try RootKey:= HKEY_CLASSES_ROOT; // 関連付ける拡張子 OpenKey('\.pdf', True); WriteString('', M_APP_REFF); // エクスプローラに表示する説明用文字列の登録 OpenKey('\' + M_APP_REFF, True); WriteString('', 'PDFファイル'); // アイコンの登録 OpenKey('\' + M_APP_REFF + '\DefaultIcon', True); WriteString('', LstDirBox.Directory + M_EXE_NAME + ', 0'); // コマンドラインの登録 OpenKey('\' + M_APP_REFF + '\shell\open\command', True); WriteString('', LstDirBox.Directory + M_EXE_NAME + ' "%1"'); //システムに変更を通知 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSH, nil, nil); finally Free; end; end; // アプリケーションの関連付け解除 objRegistry := TRegistry.Create; with objRegistry do begin try RootKey:= HKEY_CLASSES_ROOT; //参照名を削除 DeleteKey('\' + M_APP_REFF); //アイコンの参照キーを削除 DeleteKey('\' + M_APP_REFF + '\DefaultIcon'); //アプリケーションの参照キーを削除 DeleteKey('\' + M_APP_REFF + '\shell\open\command'); //システムに変更を通知 SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_FLUSH, nil, nil); finally Free; end; end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.