プロが教える店舗&オフィスのセキュリティ対策術

Windows 7 で16ビットソフトを動かすにはどうしたらいいですか?

 最近、Windows Xp から Windows 7 に移行しようとして問題になりました。
 私の場合、DOS のころから16ビットのコンパイラを使っており、それでコンパイルした大量の自作ソフトがあります。(普段使っている言語は、pascal と FORTRAN です。)
 メールの送信なども、自作ソフトを噛ませて、整形してから送信するようなことをしています。

 さて、Windows 7 を使い始めたら、これらのソフトがすべて使えなくなりました。
 chcp 932 を入れて日本語環境にセットしても、16ビットソフトを起動すると、英語モード(?)に変わってしまって、プログラムからのメッセージがすべて読めなくなります。実行が終わると 932 に戻ります。これでは事実上プログラムが使えません。
 というわけで、今は Windows 7 に移行できていません。

 新しい環境に順応するには、今まで蓄えたプログラム言語の知識を捨て、新しいプログラム言語を覚え、その言語のコンパイラを購入し、すべての自作ソフトを書き直すのでしょうか。仕事が忙しくて、とてもそんなことをしていられる余裕はなさそうです。
 自分の年齢を考えると、あと15年もすれば、今の仕事を辞めるので、その後はプログラミングはしなくてもいいのではないかと感じています。(趣味でするかもしれませんが。)
 何とか、15年くらい、今の Xp 環境でパソコンを使っていきたいと思うのですが、どうしたらいいでしょうか。
 当面は、古いパソコン(Windows Xp)を使っていますので、仕事に影響はなさそうです。とはいえ、ハード的に問題な部分もあって、新しいパソコンを買ったのですが、今はお手上げ状態です。

 「コンピューターの問題のトラブルシューティング」→「プログラムの互換性」からセットすると、動くように思えましたが、実際やってみた限りでは無効でした。

A 回答 (9件)

7のpro以上ならXpモード使うがいいと思います。


homeならアップグレードすればXPモードが使えますよ。
後は対応してくれるのを待つしかないと思いますよ。

この回答への補足

 Xp モードはこれから試してみます。
 「対応してくれる」というのは、マイクロソフトがという意味でしょうか。

補足日時:2010/09/26 16:41
    • good
    • 3

実行環境としてWindows XP以前のPCを必要とするのであれば仮想マシンへゲストOSとしてWindows NT4/2000/XPの何れかをインストールするのが最善と思います。


現在でもNT4 Workstation、2000 Professionalが販売店にあるようです。
その中でNT4が最も安価で入手できますが、仮想マシンに依ってはグラフィックアダプタのドライバが不十分です。
使用するPCがWindows 7 Professional以上であればXPモードで可能と思いますが、仮想マシンではVMware Player、VirtualBox等の方が快適に動くようです。
Windows 95/98/MeはWindows 7とのそう方向でネットワーク共有ができませんので仮想マシンのゲストには相応しくありません。

https://www.vmware.com/tryvmware/?p=player&lp=1
http://dlc.sun.com/virtualbox/vboxdownload.html
    • good
    • 0

No.5です。



pascalであれば、free pascalというコンパイラがあります。

本家
http://www.freepascal.org/

日本語化プロジェクト
http://sourceforge.jp/projects/freepascaljp/rele …

また、Free Pascal以外のコンパイラについては、以下のサイトを参照。
http://www.thefreecountry.com/compilers/pascal.s …


FORTRANであれば、以下のサイトを参照。
http://netnanet.info/fortran/compiler.html
http://www.thefreecountry.com/compilers/fortran. …

この回答への補足

 なるほど、新しいコンパイラ(Windows 7 対応)でコンパイルすれば、解決できそうです。
 とはいえ、他にどうしようもない場合に、この方法を採用するつもりですが、できたら、今使っている DOS 時代の Turbo PASCAL および、Windows 95 対応の Watcom FORTRAN を使いたいと思います。
 標準的なプログラムだけでなく、一部は、そのコンパイラ特有の書き方をしてしまっているので、他のコンパイラだと、プログラムの書き直しが発生しますが、これが非常に労力がかかりそうだからです。
 以前は、こういう書き換えはそんなに苦ではなかったのですが、最近は、仕事が忙しくなってきたので、そんなことに時間をとられたくないということがあります。
 そんな昔のプログラムは使わなければいいのにといわれそうですが、自分なりに使い続けてきたものは、簡単に捨てられないものです。FORTRAN で書いたものは、最初のコーディングは 1975 年、大型計算機用に書いたのでした。それを使い続けて(途中、細かい修正はしつつも)今に至っています。もう虫はほぼいない(と信じている)、いわば枯れきったソフトです。そういうのが使いやすいと思っております。
 勝手なことを書いてしまいました。
 古い人間のたわごとですが、こんな人間もいることを申し上げたかったわけです。
 何とか、Windows 7 でも今のソフトがそのまま使い続けられたらと思っております。

補足日時:2010/09/27 06:28
    • good
    • 2

直接起動せず、ショートカットを作ってみてください。



で、そのショートカットを右クリック→プロパティ

「ショートカット」タブの「リンク」にプログラム名が入っていますので、その直前に「cmd 」、直後に「/k」を入れてください。
例えば、○○というexeファイルでしたら

「○○.exe」

「cmd ○○.exe /k」
としてください。表記の問題でスペースを全角で記述していますが、実際のスペースは半角です。ここでコードページやフォントの指定ができるはずです。

この回答への補足

 ご回答ありがとうございます。
 ショートカットを作ってみたのですが、うまくいきません。
(1)ショートカットのプロパティでは、「ショートカット」タブがありません。「リンク」もありません。
(2)ショートカットのプロパティの中の「プログラム」タブを見ると、一番上に「MS-DOS」のアイコンが見え、その右側にプログラム名.EXE が見えます。ここをいじっても、ダメでした。
(3)同じく、「プログラム」タブの中に「コマンドライン」がありますが、ここをいじってもダメでした。

 いじるというのは cmd /k を付け加えるという意味です。
 ダメというのは、以下のようなことです。
 ショートカットをダブルクリックすると、16 bit MS-DOS Subsystem が起動し、背景が黒い DOS のウィンドウが開くのですが、すぐに次のようなメッセージが出ます。
C:\Users\...Desktop\プログラム名.pif
Invalid program file name, please check your pif file.

 なお、pif のプロパティの中でフォントの指定はできますが、コードページの指定はできないようです。
 何か、おわかりでしたら、再度お教えください。

補足日時:2010/09/27 06:17
    • good
    • 0

No3です。


>ライセンスを取得するために、まずは、Xp のパッケージを購入する必要がありますか?
プレインストール版しか無ければ新規で購入する必要があります。
オークション等で入手出来ればよいのですが。
(OEM版・DSP版はライセンス的に難しいので製品版の購入が必須となります)

コンパイラのみ動作すれば良いのであれば、No4の方の回答にもある様にDOS・Windows95/98/Me/2000等のライセンスがあれば利用できるのではないでしょうか。
    • good
    • 0
この回答へのお礼

 ありがとうございます。
 どうしようもなくなったときの最終的な逃げ道として、有用なように思えます。
 もっとも、せっかくの Windows 7 を使っていても、すべて Xp として各種プログラムのインストールから何から何まで仮想 Xp 上で行うことになり、新しいパソコンにした意味がありませんが、背に腹は替えられないように思います。
 当面は、もう少し、他の手段を考えてみます。

お礼日時:2010/09/27 06:35

Windows7に対応しているコンパイラで16bit対応のものは、



 Digital Mars C++ 
http://www.digitalmars.com/

があります。
Windows7に対応しているコンパイラでソースをコンパイルしてみては?

この回答への補足

 もともと、pascal および FORTRAN で書かれたものなので、それを C++ に書き直すだけでものすごく大変です。
 言語自体も古いですから、Windows 7 対応のコンパイラはないのではないかと思います。
 いや、FORTRAN はあるかもしれません。

 あ、そういえば、他の回答者の方々への補足ですが、Xpモードで実行したらという話がありましたが、これはもともと Xp 用に作られたソフトをインストールし、実行するためのものですから、私の環境では使い物になりません。

補足日時:2010/09/26 18:35
    • good
    • 0

要は、DOSベースのコンパイラなんですよね?だったら私もVirtualPC+DOSの環境をお勧めします。

実は私もたまにDOSのMSCのソースをコンパイルさせられることがあるので、VirtualPCとPCDOS7/Vの環境を常備しています。

なお、ファイルの受け渡しには若干手間がかかります。圧縮してフロッピーに入る大きさにできれば、これが一番簡単ですが、そうならなかった時は受け渡し用のOS(Win95以上)をVirtualPC上に用意し、これの共有フォルダを設定することで対応します。VirtualPCの共有フォルダは、ホスト側OSの任意のフォルダを、実行中のゲストOSから参照できる(ネットワークドライブ的にマウントする)ようにする機能です。

そして、DOSの仮想ディスクを受け渡し用OSのセカンダリにマウントすれば、フロッピーのサイズを超えたファイルでも自由にやりとりできます。もしかすると、95や98のDOS窓だったらそこからコンパイルできそうですね。だったらDOSは用意しなくて済みます。

この回答への補足

 コンパイラそのものの問題ではありません。
 DOS 版の pascal コンパイラは Windows 7 でも動作するようで、exe 形式が作成されます。
 しかし、それを実行すると、文字化けが起こって、うまくいかないのです。
 FORTRAN コンパイラはまだ試していませんが、たぶん、同じような状況だろうと思います。
 pascal で書いたソースの方が重要なものなので、まずはこちらを試した段階です。
 FORTRAN で書いたソースも、今でも実行させることがあるので、これも使いたいと思っています。

補足日時:2010/09/26 18:47
    • good
    • 0

WindowsXPのライセンスをお持ちならVirtualPCの様な仮想化ソフトをインストールして仮想マシンを構築します。


その仮想マシンにWindowsXPをインストールする事でWinsows7からWindowsXPを起動する事が可能となります。(ホストOSからゲストOSを立ち上げる)

参考URL
http://www.microsoft.com/japan/windows/downloads …

※仮想マシンは実際のPCと同じ量のメモリを使用するので、4GB程度はメモリを搭載しておく必要があります。
 

この回答への補足

 「WindowsXPのライセンス」というのは何でしょうか。
 何台かパソコンを購入してきましたが、いつも Xp をプリインストールしたマシンを購入していましたので、それとは別にパッケージとして Xp を購入したことはありません。
 ライセンスを取得するために、まずは、Xp のパッケージを購入する必要がありますか?

補足日時:2010/09/26 16:44
    • good
    • 0

Win7は64ビット版では?


32ビット版のWin7を導入すれば動くはずですが。

もしくは、XP Modeではどうでしょうか?

この回答への補足

 すみません。重要なことを書き落としました。
 OSは Professional 版(32ビット)です。
 XP Mode は、これから試してみます。

補足日時:2010/09/26 16:40
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!