掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
プログラムが互換モードで実行しているかの判定 (ID:35498)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Windows XP SP3 Windows Vsita Ultimate Windows Server 2008 Windows Seven Ultimate 上記の各OSで互換モードで確認したところ OSVersionInfo で取得できる範囲では、互換モードで指定したOS (98/ME は、98SEでしたが)相応の値が返ってきますが、 OSVersionInfoEx.wSuiteMask, wProductType は、使用中のOSの 値がそのまま返ってくるようです。 引き続き互換モードについて調査した結果以下のページをみつけました。 http://journal.mycom.co.jp/column/winvista/011/ 互換モードに関する情報は、下記に保存されている。 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers HKEY_LOCAL_MACHINE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers ここに文字列値を作成し、名前にフルパスを入力。 データとして、WIN95、WIN2000 を記述しておくことで、互換モードで実行するようになる。 HKEY_CURRENT_USER のほうは、各ユーザーの設定で、HKEY_LOCAL_MACHINEは、 全てのユーザーの設定になり、当然全てのユーザーの設定が優先。 レジストリを直接編集して、「WIN95 WIN98 WINXPSP3」のように複数のバージョンを 書き込むと、たぶんデータ値の文字列順。 VISTA < Server2003 < Server2008 < XP VSITA*** < WINSRV03SP1 < WINSRV08SP1 < WINXPSP* Windows 7 では、以下が設定可能 WIN95 Windows 95互換 WIN98 Windows 98/Me互換モード NT4SP5 Windows NT 4.0(サービスパック5)互換 WIN2000 Windows 2000 互換 WINXPSP2 Windows XP(サービスパック2) 互換 WINXPSP3 Windows XP(サービスパック3) 互換 WINSRV03SP1 Windows Server 2003(サービスパック1) 互換 WINSRV08SP1 Windows Server 2008(サービスパック1) 互換 VISTARTM Windows Vsita 互換 VISTASP1 Windows Vsita (サービスパック1) 互換 VISTASP2 Windows Vsita (サービスパック2) 互換 レジストリを見てやれば、とりあえずは互換モードがわかるようなので、 これで解決とします。 きれいにまとめて、資料として残しておきたい・・・。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.