MFC を使用して C++ プロジェクトを作成しているときに、小さいながらも不快なバグを見つけました。たとえば、OpenWith ダイアログ ボックスを使用して .ai ファイルを開くオプションがあります。ご存じのとおり、OpenWithDialog Box には、「この種類のファイルを開くときは、選択したプログラムを常に使用する」オプションのチェックボックスがあります。また、たとえば、ユーザーが WindowsImageViewer(WIV) を選択し、チェックボックスを無効にするのを忘れた場合、Windows はこのファイルを WIV で開き、もちろん書き込みますが、そのファイルを開くことはできません。そして、.ia 形式のすべてのファイルは、WIM でのみ開くことができます。この問題は、regedit を編集することで解決できますが、ユーザー フレンドリーではありません。
チェックボックスを削除または非アクティブにするなど、役立つアドバイスをいただけますか。
これが、OpenWithDialog を呼び出す方法です。 AGS::WString path = L"shell32.dll,OpenAs_RunDLL " + f.getAbsolutePath(); ShellExecute(NULL, L"open", L"rundll32.exe", path.c_str(), NULL, SW_SHOW);