[解決済み] C# - Windows 64ビット版でProgram Files (x86)を取得する方法
2022-04-27 18:21:46
質問
使っています。
FileInfo(
System.Environment.GetFolderPath(
System.Environment.SpecialFolder.ProgramFiles)
+ @"\MyInstalledApp"
あるプログラムがユーザーのマシンで検出されたかどうかを判断するため(理想的ではありませんが、私が探しているプログラムはMS-DOSアプリケーションの古くさく、他の方法を思いつかなかったのです)。
Windows XPと32ビット版のWindows Vistaでは、これは問題なく動作します。しかし、x64 Windows Vistaでは、アプリケーションはProgram Files x86にインストールされているのに、コードはx64 Program Filesフォルダーを返します。C:\Program Files (x86)" をハード配線せずに Program Files x86 のパスをプログラム的に返す方法はありますか?
解決方法を教えてください。
以下の関数は x86 を返します。
Program Files
ディレクトリを、これら3つのWindowsの構成すべてで作成します。
- 32ビットWindows
- 64ビットWindows上で動作する32ビットプログラム
- 64ビットWindows上で動作する64ビットプログラム
static string ProgramFilesx86()
{
if( 8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
{
return Environment.GetEnvironmentVariable("ProgramFiles(x86)");
}
return Environment.GetEnvironmentVariable("ProgramFiles");
}
関連
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み] Windowsにpipをインストールするにはどうしたらいいですか?
-
[解決済み] C#で文字列のエンコーディングを手動で指定せずに、一貫性のあるバイト表現を得るには?
-
[解決済み] WindowsのCMDで1行に2つのコマンドを実行するにはどうしたらいいですか?
-
[解決済み] ファイルの作成日時、変更日時を取得する方法
-
[解決済み] Eclipseが起動できない - Javaは起動したが終了コード=13を返した
-
[解決済み] 64ビットJVMで動作しているか、32ビットJVMで動作しているか、どうすればわかりますか(プログラム内から)?
-
[解決済み】WindowsでTCPまたはUDPポートをリッスンしているプロセスを見つけるにはどうすればよいですか?
-
[解決済み】Windowsのバッチファイル:.batと.cmdの違いは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】C# - パスに不正な文字がある場合
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
VSでscanfエラーを恒久的に解決するには、ソースファイルを作成し、自動的に#define _CRT_SECURE_NO_WARNINGS 1を追加してください。