XPモードで16ビットアプリケーションを利用する [Win7]
コマンドプロンプトで動作するアプリケーションにはコンソールアプリとDOSアプリの2種類があります。
まずは実行するアプリがどちらなのかを判断してください。
→ コンソールアプリケーションとDOSアプリケーションを見分ける
ここではDOSアプリが文字化けする場合の対処法を紹介しています。
コンソールアプリの文字化けは別の原因によるもので、以下の対処法は通じません。
Windows Vista以降ではMS-DOSアプリケーション(16ビットアプリケーション)の日本語環境(コードページ932)が削除されている。
そのためDOSアプリを実行すると強制的に英語環境になり、日本語のメッセージが文字化けしてしまって使い物にならない。
Windows 7ではProfessional以上のエディションで「Windows XP Mode」という機能を利用できる。
これは単に仮想マシン上でWindows XPを動かすだけの機能だが、これを利用することで日本語のDOSアプリが文字化けすることなく利用できる。
製品版のDOSをお持ちの方はこちらも参考に。
→ Windows Virtual PCにDOSをインストールする
※DOSにおける日本語環境と英語環境の関係
・MS-DOS 5.0/V - 6.2/V、IBM DOS J4.0/V、J5.0/V、PC DOS J6.1/V、J6.3/V、J7.0/V、2000日本語版
・Windows XP日本語版のコマンドプロンプト(cmd.exe)
・Windows Vista,7,8日本語版のコマンドプロンプト
注: 64ビット環境ではCPUが仮想8086モードをサポートしていないため、64ビット版WindowsではDOSアプリを利用できない。
ただし64ビット版Windows上の仮想マシンで動く32ビット版WindowsやXPモードでは利用可。
○方法
1. Windows XP Modeをインストールして仮想マシンをセットアップ。
説明は省略。
2. XPモードを起動。利用したいDOSアプリをゲストOSに持ってくる。
ゲストOSからはネットワークドライブとしてホストOSのハードディスクにアクセスできるので、これを利用するとよい。
そのままゲストOS上で実行してもよいが、以下の手順でショートカットを作成することで
あたかもWindows 7(ホストOS)上で動作しているかのように見せかけることができる。
3. ゲストOSのスタートメニュー(All Users)のプログラムフォルダにDOSアプリへのショートカットを作成。
4. 一度ゲストOSをログオフしてXPモードを閉じる。
ホストOSで スタートメニュー → Windows Virtual PC → Windows XP Mode アプリケーション
とたどるとその中にショートカットができているので、これを開く。
※ゲストOSをログオフしないと設定は反映されない。
5. ↓このとおり。
見かけは単独で起動しているかのようだが、実際にはXPモード(仮想マシン)上で動いているだけである。
よって普通にXPモード上で実行するのと何ら変わりない。
ドライブ・フォルダー構成もXPモードのものになっているので、データファイルを扱うときには注意する必要がある。
XPモードはグラフィック機能の面で互換性が欠けている。
DirectXをサポートしていないことはよく知られているが、DOSアプリについてもいくつかの制限があり、
例えば全画面モードを必須とするDOSアプリは動作しない。
○関連
- DOS/Vの日本語/英語モードとSWITCHコマンド [DOS]
https://diarywind.com/blog/e/g13_167_dosvswitch_dos.html - 英語モードでMS-DOSアプリケーションを利用する
https://diarywind.com/blog/e/g13_144_ms-dos_winxp.html