MS-DOS-Based Applications and Command Prompts
ID: q99279
|
The information in this article applies to:
-
Microsoft Windows NT operating system version 3.1
SUMMARY
Windows NT provides a fully-integrated command prompt that enables you
to launch both Windows-based and MS-DOS-based applications. Although
the concept of running an MS-DOS-based application in a Windows-based
environment may be familiar to you, Windows NT handles this somewhat
differently than Windows (16-bit) does.
The essential difference lies in the command prompt itself; under
Windows NT, the command prompt is a 32-bit Windows NT-based
application, not the virtual MS-DOS machine you would expect from
Windows. Under Windows NT, until you start an MS-DOS-based
application, no virtual MS-DOS machine is created. Furthermore, once
you start an MS-DOS-based application, its virtual MS-DOS machine is
used for all subsequent MS-DOS-based applications started from the
same command prompt.
As in Windows, each MS-DOS-based application can have a program
information file (PIF). If there is no PIF for a particular
application, the default PIF, _DEFAULT.PIF, is used. Because Windows
NT only uses the PIF from the first application started in any given
command prompt, you may need to take special care in the way you start
your applications. For example, if you design a PIF that allocates
some EMS memory, it is important that you start the associated
application first; otherwise, the EMS memory may never be allocated.
You may start a Windows NT command prompt and then run the MS-DOS
command, MEM, to see how much memory you have free. Because MEM is
another MS-DOS-based application, Windows NT creates a virtual MS-DOS
machine, probably using _DEFAULT.PIF. After MEM finishes, you start
the application you created the PIF for. Unfortunately, because
_DEFAULT.PIF doesn't instruct Windows NT to allocate EMS memory, your
application reports that it can find no EMS memory. Rechecking the PIF
you created does not solve the problem. You need to start another
command prompt and then make sure to start your EMS-requiring
application first, before you start any other MS-DOS-based
applications.
There is one more difference to be aware of: each PIF contains a
pointer to AUTOEXEC and CONFIG files. Usually these default to the
Windows NT versions, AUTOEXEC.NT and CONFIG.NT. If you want to change
environment variables for your MS-DOS-based applications, you need to
point their PIFs to different files or modify the default ones. (To
see these files and their locations, run PIF Editor and choose Windows
NT.)
Additional query words:
prodnt wow
Keywords :
Version : 3.1
Platform : winnt
Issue type :