当前位置:文档之家› VC调用DOS命令浅析

VC调用DOS命令浅析

VC调用DOS命令浅析
VC调用DOS命令浅析

一、system (2)

(一)函数原型: (2)

(二)函数说明 (2)

(三)源码示例 (3)

二、WinExec (3)

(一)函数原型 (3)

(二)函数说明 (4)

1,UINT WinExec( (4)

2,参数uCmdShow可能的取值为: (4)

3,返回值 (4)

4,注意 (5)

5,示例程序 (5)

三、ShellExecute (5)

(一)函数原型 (5)

1,功能: (6)

2,示例; (6)

(二)函数说明 (6)

1,参数说明 (6)

2,返回值 (7)

3,特殊用法 (7)

四、CreateProcess (9)

(一)函数原型: (9)

(二)参数: (9)

0,参数简介 (9)

1,lpApplicationName: (10)

2,lpCommandLine (11)

3,lpProcessAttributes: (11)

4,lpThreadAttributes: (12)

5.,bInheritHandles: (12)

6,dwCreationFlags: (12)

6,lpEnvironment: (15)

7,CurrentDirectory: (15)

8,lpStartupInfo: (16)

9,lpProcessInformation: (17)

(三) 返回值: (17)

(四)注释: (17)

(五)其它应用(还未试成) (20)

1、打开指定的URL (20)

2、打开指定的文件夹 (20)

3、打开帮助文件 (20)

4、小结 (20)

(六)源码示例: (20)

五、小结 (24)

一、system

(一)函数原型:

int system(const char * string)

1,功能: 发出一个DOS命令

2,头文件stdlib.h

3,示例:

第一种:system("cd c:\\windows");

system("mk aaa");

第二种:system("mk c:\\windows\\aaa");

第三种:system("cd c:\\windows & mk aaa");//&这个符号与,把两条命令分别执行(二)函数说明

system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。

返回值

=-1: 出现错误

=0: 调用成功但是没有出现子进程

>0: 成功退出的子进程的id

如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1,但是存在一个特殊情况,那就是:如果system()调用成功则最后会返回执行shell命令

后的返回值,但是此返回值也有可能为system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。

若参数string为空指针(NULL),则返回非零值。

在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。

(三)源码示例

#include

#include

int main(void)

{

cout<<"About to spawn https://www.doczj.com/doc/19695897.html, and run a DOS command\n";

char strCMD[]="dir";

int i=system(strCMD);

cout<

return 0;

}

二、WinExec

(一)函数原型

UINT WINAPI WinExec(LPCSTR lpCmdLine, UINT uCmdShow);

1,功能:执行一个Dos命令

2,头文件:在Console环境中,加上#include ,其它不加

3,示例:

比如你的程序路径为:F:\123,名字是1.exe 需要的参数是123,就写成这样:WinExec("cmd.exe /k F:\\1.exe 123",SW_HIDE);

(二)函数说明

1,UINT WinExec(

LPCSTR lpCmdLine, //命令行,如没指定路径会按以下顺序查找: 程序目录/当前目录/System32/Windows/PATH环境变量}

UINT uCmdShow //新启动程序显示方式{启动选项}

2,参数uCmdShow可能的取值为:

SW_HIDE= 0; {隐藏, 并且任务栏也没有最小化图标}

SW_SHOW NORMAL= 1; {用最近的大小和位置显示, 激活}

SW_NORMAL= 1; {同SW_SHOWNORMAL}

SW_SHOW MINIMIZED= 2; {最小化, 激活}

SW_SHOW MAXIMIZED= 3; {最大化, 激活}

SW_MAXIMIZE = 3; {同SW_SHOWMAXIMIZED}

SW_SHOW NO ACTIVATE = 4; {用最近的大小和位置显示, 不激活}

SW_SHOW= 5; {同SW_SHOW NORMAL}

SW_MINIMIZE = 6; {最小化, 不激活}

SW_SHOW MIN NO ACTIVE = 7; {同SW_MINIMIZE}

SW_SHOW NA= 8; {同SW_SHOWNOACTIVATE}

SW_RESTORE= 9; {同SW_SHOWNORMAL}

SW_SHOW DEFAUL T = 10; {同SW_SHOW NORMAL}

SW_MAX = 10; {同SW_SHOWNORMAL}返回值:

3,返回值

大于31 {调用成功}

等于0 {内存不足}

ERROR_FILE_NOT_FOUND = 2; {文件名错误}

ERROR_PATH_NOT_FOUND = 3; {路径名错误}

ERROR_BAD_FORMAT= 11; {EXE 文件无效}

4,注意

(1)在Win32里,当新启动进程(started process)调用GetMessage 或超时后,WinExec()结束执行。为了避免等待,可尽早的调用GetMessage

(2)WinExec能够带参数运行,但她的参数和程序在同一个字符串中,所以有一个局限性是,它不能运行路径中有空格的程序,例如,如果该程序在Program files下面,就不能正常运行

5,示例程序

#include

#include

#include

int main(void)

{

int i=WinExec("net user",SW_SHOWMAXIMIZED);

cout<

return 0;

}

三、ShellExecute

(一)函数原型

HINSTANCE ShellExecute(

HWND hwnd,//父窗口句柄,如:NULL,Handle等)

LPCTSTR lp Operation,//打开方式,如:"open")*要加英文双引号

LPCTSTR lpFile, //要进行操作的文件或路径

LPCTSTR lpParameters, //通常设为NULL

//但是,当lpOperation为“explore”时,指定要传递的参数,LPCTSTR lpDirectory, //指定默认目录,通常设为NULL

INT nShowCmd //文件打开的方式,以通常方式还是最大化或最小化显

//示,一般为SW_SHOWNORMAL

);

1,功能:

是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。

2,示例;

(1)调用计算器

ShellExecute(NULL,"open","calc.exe",NULL,NULL,SW_SHOWNORMAL);

(2打开记事本,并打开一个文件(系统能识别记事本应用程序的路径,因此我们不必使用绝对路径)

ShellExecute(Handle, open, PChar(notepad),

PChar(c:testreadme.txt), nil, SW_SHOW);

(二)函数说明

1,参数说明

●hWnd:用于指定父窗口句柄。当函数调用过程出现错误时,它将作为Window s消息窗口的父窗口。例如,可以将其设置为应用程序主窗口句柄,即Application. Handle,也可以将其设置为桌面窗口句柄(用GetDesktopWindow函数获得)。

●Operation:用于指定要进行的操作。其中“open”操作表示执行由FileName参数指定的程序,或打开由FileName参数指定的文件或文件夹;“print”操作表示打印由FileName参数指定的文件;“explore”操作表示浏览由FileName参数指定的文件夹。当参数设为nil时,表示执行默认操作“open”。

●FileName:用于指定要打开的文件名、要执行的程序文件名或要浏览的文件夹名。

●Parameters:若FileName参数是一个可执行程序,则此参数指定命令行参数,否则此参数应为nil或PChar(0)。

●Directory:用于指定默认目录。

●ShowCmd:若FileName参数是一个可执行程序,则此参数指定程序窗口的初始显示方式,否则此参数应设置为0。

若ShellExecute函数调用成功,则返回值为被执行程序的实例句柄。若返回值小于32,则表示出现错误。

上述仅仅是ShellExecute函数的标准用法,下面将介绍它的特殊用法。

2,返回值

返回的句柄不是一个真正的句柄.这个句柄唯一能做的就是把它转化为int型,把

它跟32比较,大于32说明函数执行成功,否则就是一个错误代号

3,特殊用法

(1)打开相应的网址

FileName参数设置为“http:”协议格式

那么该函数将打开默认浏览器并链接到指定的URL地址。若用户机器中安装了多个浏览器,则该函数将根据Windows 9x/NT注册表中http协议处理程序(Protocols Handler)的设置确定启动哪个浏览器。

格式一:http://网站域名。

如:ShellExecute(NULL, "open", "https://www.doczj.com/doc/19695897.html,", NULL, NUL L, SW_SHOWNORMAL);

格式二:http://网站域名/网页文件名。

如:ShellExecute(Handle, "open", "https://www.doczj.com/doc/19695897.html,/default.htm", NULL,NULL, SW_SHOWNORMAL);

(2)发邮件

如果将FileName参数设置为“mailto:”协议格式,

那么该函数将启动默认邮件客户程序,如Microsoft Outlook(也包括Micr osoft Outlook Express)或Netscape Messanger。若用户机器中安装了多个邮件客户程序,则该函数将根据Windows 9x/NT注册表中mailto协议处理程序的设置确定启动哪个邮件客户程序。

格式一:mailto:

如:ShellExecute(Handle,"open", "mailto:", NULL, NULL, SW_SHOWN ORMAL);打开新邮件窗口。

格式二:mailto:用户账号@邮件服务器地址

如:ShellExecute(Handle, "open"," mailto:who@https://www.doczj.com/doc/19695897.html,", NULL, NULL, SW_SHOWNORMAL);打开新邮件窗口,并自动填入收件人地址。若指定多个收件人地址,则收件人地址之间必须用分号或逗号分隔开(下同)。

格式三:mailto:用户账号@邮件服务器地址?subject=邮件主题&body=邮件正文

如:ShellExecute(handle, …open?, "mailto:who@https://www.doczj.com/doc/19695897.html,?

subject=Hello&Body=This is a test", nil, nil, SW_SHOWNORMAL);打开新邮件窗口,并自动填入收件人地址、邮件主题和邮件正文。若邮件正文包括多行文本,则必须在每行文本之间加入换行转义字符%0a。

(3)开始一个新的应用程序

ShellExecute(Handle, open, PChar(c:testapp.exe), nil, nil,

SW_SHOW);

(4)打印一个文档

ShellExecute(Handle, print, PChar(c:testtest.doc), nil, nil,

SW_SHOW);

注意:可能你会看到word暂时的被打开,但它会自动关闭。

(5)——你能通过一个已经注册的文件类型来打开应用程序

ShellExecute(Handle, open, PChar(c:testreadme.txt), nil, nil, SW_SHOW);

(6)用windows Explorer 打开一个目录

ShellExecute(Handle, explore, PChar(c:windows), nil, nil,

SW_SHOW);

(7)运行一个DOS命令并立即返回

ShellExecute(Handle, open, PChar(https://www.doczj.com/doc/19695897.html,), PChar(/c copy

file1.txt file2.txt), nil, SW_SHOW);

(8)运行一个DOS命令并保持DOS窗口存在

ShellExecute(Handle, open, PChar(https://www.doczj.com/doc/19695897.html,), PChar(/k dir), nil, SW_SHOW);

四、CreateProcess

——WIN32 API函数CreateProcess用来创建一个新的进程和它的主线程,这个新进程运行指定的可执行文件。

(一)函数原型:

BOOL CreateProcess

(

LP C TSTR lp Application Name,

LP TSTR lp Command Line,

LP SECURITY_ATTRIBUTES lp Process Attributes,

LP SECURITY_ATTRIBUTES lp Thread Attributes,

BOOL b Inherit Handles,

DWORD dw Creation Flags,

LP VOID lp Environment,

LP C TSTR lp Current Directory,

LP STARTUP INFO lp Startup Info,

LP PROCESS_INFORMATION lp Process Information );

(二)参数:

0,参数简介

typedef struct _STARTUPINFO

{

DWORD cb; //包含STARTUPINFO结构中的字节数.如果Microsoft将来扩展该结构,它可用作版本控制手段. 应用程序必须将cb初始化为sizeof(STARTUPINFO)

PSTR lpReserved; //保留。必须初始化为N U L L

PSTR lp Desk top; //用于标识启动应用程序所在的桌面的名字。如果该桌面存在,新进程便与指定的桌面相关联。如果桌面不存在,便创建一个带有默认属性的桌面,并使用为新进程指定的名字。如果lpDesktop是NULL(这是最常见的情况),那么该进程将与当前桌面相关联

PSTR lp Title; //用于设定控制台窗口的名称。如果l p Ti t l e 是N U L L ,则可执行文件的名字将用作窗口名

DWORD dwX; //用于设定应用程序窗口在屏幕上应该放置的位置的x 和y 坐标(以像素为单位)。

DWORD dwY; //只有当子进程用CW_USEDEFAULT作为CreateWindow的x参数来创建它的第一个重叠窗口时, 才使用这两个坐标。若是创建控制台窗口的应用程序,这些成员用于指明控制台窗口的左上角

DWORD dwXSize; //用于设定应用程序窗口的宽度和长度(以像素为单位)只有dwYsize

DWORD dwYSize; 当子进程将C W _ U S E D E FA U LT 用作C r e a t e Wi n d o w 的n Wi d t h参数来创建它的第一个重叠窗口时,才使用这些值。

若是创建控制台窗口的应用程序,这些成员将用于指明控制台窗口的宽度DWORD dwX CountChars; //用于设定子应用程序的控制台窗口的宽度和高度(以字符为单位)

DWORD dwYCountChars;

DWORD dwFillAttribute; //用于设定子应用程序的控制台窗口使用的文本和背景颜色

DWORD dwFlags; //请参见上面的介绍

WORD w ShowWindow; //用于设定如果子应用程序初次调用的S h o w Wi n d o w 将S W _ S H O W D E FA U LT 作为nCmdShow参数传递时,该应用程序的第一个重叠窗口应该如何出现。本成员可以是SW_SHOW NORMAL,也可以是SW_ SHOW MIN NO ACTIVE ,SW_SHOW DEFAULT,

SW_HIDE。

WORD cbReserved2; //保留。必须被初始化为0

PBYTE lpReserved2; //保留。必须被初始化为N U L L

HANDLE h Std Input; //用于设定供控制台输入和输出用的缓存的句柄。按照默认设置,h S t d I n p u t 用于标识键盘缓存,h S t d O u t p u t 和h S t d E r r o r用于标识控制台窗口的缓存

HANDLE hStdOutput;

HANDLE hStdError;

} STARTUPINFO, *LPSTARTUPINFO;

1,lp Application Name:

用来指定可执行模块的NULL结尾的字符串。

可以是可执行模块的绝对路径,也可以是相对路径,在后一种情况下,函数使用当前驱动器和目录建立可执行模块的路径。

这个参数可以被设为NULL,在这种情况下,可执行模块的名字必须处于lpCommandLine 参数的最前面并由空格符与后面的字符分开。

该模块可以是一个Win32应用程序。也可以是其他类型的模块(如MS-DOS 或OS/2)。

在Windows NT中,如果可执行模块是一个16位的应用程序,那么这个参数应该被设置为NULL并且应该在lp Command Line参数中指定可执行模块的名称。16位的应用程序是以DOS虚拟机或Win32上的Windows(WOW)为进程的方式运行。

2,lp Command Line

(NULL结尾)指定要运行的命令行。

可以为空,那么函数将使用参数指定的字符串当作要运行的程序的命令行。

如果lp Application Name和lp Command Line参数都不为空,那么lpApplicationName参数指定将要被运行的模块,lpCommandLine参数指定将被运行的模块的命令行。新运行的进程可以使用GetCommandLine函数获得整个命令行。C语言程序可以使用argc和argv参数。

如果lpApplicationName参数为空,那么lp Command Line中的第一个被空格分隔的要素指定可执行模块名。如果文件名不包含扩展名,那么.exe将被假定为默认的扩展名。如果文件名以一个点(.)结尾且没有扩展名,或文件名中包含路径,.exe将不会被加到后面。如果文件名中不包含路径,Windows将按照如下顺序寻找这个可执行文件:

1).当前应用程序的目录。

2).父进程的目录。

3).Windows 95:Windows系统目录,可以使用GetSystemDirectory函数获得。

Windows NT:32位Windows系统目录。可以使用GetSystemDirectory函数获得,目录名是SYSTEM32。

4).在Windows NT中:16位Windows系统目录。不可以使用Win32函数获得这个目录,但是它会被搜索,目录名是SYSTEM。

5).Windows目录。可以使用GetWindowsDirectory函数获得这个目录。

6).列在PATH环境变量中的目录。

如果被创建的进程是一个以MS-DOS或16位Windows为基础的应用程序,lpCommandLine参数应该是一个以可执行文件的文件名作为第一个要素的绝对路径,因为这样做可以使32位Windows程序工作的很好,这样设置lpCommandLine参数是最强壮的。

3,lp Process Attributes:

指向一个SECURITY_ATTRIBUTES结构体,这个结构体决定是否返回的句柄可以被子进程继承。如果lp Process Attributes参数为空(NULL),那么句柄不能被继承。

typedef struct _SECURITY_ATTRIBUTES

{

DWORD n Length;

//本结构体的大小sizeof(SECURITY_ATTRIBUTES)

LP VOID lp Security Descriptor;

//在Windows NT中:指定了新进程的安全描述符,如果参数为空,新进程//使用默认的安全描述符。在Windows Me/98/95中:lpSecurityDescriptor成员被忽略。

BOOL b Inherit Handle;//决定是否返回的句柄可以被子进程继承。

} SECURITY_ATTRIBUTES, *P SECURITY_ATTRIBUTES;

4,lp Thread Attributes:

指向一个SECURITY_ATTRIBUTES结构体,这个结构体决定是否返回的句柄可以被子线程继承。如果lpThreadAttributes参数为空(NULL),那么句柄不能被继承。

在Windows NT中,SECURITY_ATTRIBUTES结构的lpSecurityDescriptor 成员指定了主线程的安全描述符,如果参数为空,主线程使用默认的安全描述符。

在Windows95中:SECURITY_ATTRIBUTES结构的lpSecurityDescriptor成员被忽略。

5.,b Inherit Handles:

指示新进程是否从调用进程处继承了句柄。

如果值为真,调用进程中的每一个可继承的打开句柄都将被子进程继承。被继承的句柄与原进程拥有完全相同的值和访问权限。

6,dw Creation Flags:

——指定附加的、用来控制优先类以及还用来控制新进程的优先类,优先类用来决定此进程的线程调度的优先级

(1)指定附加的、用来控制优先类和进程的创建的标志。以下的创建标志可以以除下面列出的方式外的任何方式组合后指定。

1)值:CREATE_DEFAULT_ERROR_MODE

含义:新进程不继承调用进程的错误模式。CreateProcess函数赋予新进程当前的默认错误模式作为替代。应用程序可以调用SetErrorMode函数设置当前的

默认错误模式。

这个标志对于那些运行在没有硬件错误环境下的多线程外壳程序是十分有用的。

对于CreateProcess函数,默认的行为是为新进程继承调用者的错误模式。设置这个标志以改变默认的处理方式。

2)值:CREATE_NEW_CONSOLE

含义:新的进程将使用一个新的控制台,而不是继承父进程的控制台。这个标志不能与DETACHED_PROCESS标志一起使用。

3)值:CREATE_NEW_PROCESS_GROUP

含义:创建进程树的根进程。进程树种的全部进程都是根进程的子进程。新进程树的用户标识符与这个进程的标识符是相同的,由lpProcessInformation参数返回。进程树经常使用GenerateConsoleCtrlEvent函数允许发送CTRL+C或CTRL+BREAK信号到一组控制台进程。

4)值:CREATE_SEPARATE_WOW_VDM

含义:(只适用于Windows NT 且只有当运行16位的Windows应用程序时才是有效的)。

如果被设置,新进程将会在一个私有的虚拟DOS机(VDM)中运行。另外,默认情况下所有的16位Windows应用程序都会在同一个共享的VDM中以线程的方式运行。单独运行一个16位程序的优点是一个应用程序的崩溃只会结束这一个VDM的运行;其他那些在不同VDM中运行的程序会继续正常的运行。同样的,在不同VDM中运行的16位Windows应用程序拥有不同的输入队列,这意味着如果一个程序暂时失去响应,在独立的VDM中的应用程序能够继续获得输入。

5)值:CREATE_SHARED_WOW_VDM

含义:(只适用于Windows NT 且只有当运行16位的Windows应用程序时才是有效的)。如果WIN.INI中的Windows段的DefaultSeparateVDM选项被设置为真,这个标识使得CreateProcess函数越过这个选项并在共享的虚拟DOS机中运行新进程。

6)值:CREATE_SUSPENDED

含义:新进程的主线程会以暂停的状态被创建,直到调用ResumeThread

函数被调用时才运行。

7)值:CREATE_UNICODE_ENVIRONMENT

含义:如果被设置,由lpEnvironment参数指定的环境块使用Unicode字符,如果为空,环境块使用ANSI字符。

8)值:DEBUG_PROCESS

含义:如果这个标志被设置,调用进程将被当作一个调试程序,并且新进程会被当作被调试的进程。系统把被调试程序发生的所有调试事件通知给调试器。

如果你使用这个标志创建进程,只有调用进程(调用CreateProcess函数的进程)可以调用WaitForDebugEvent函数。

9)值:DEBUG_ONLY_THIS_PROCESS

含义:如果此标志没有被设置且调用进程正在被调试,新进程将成为调试调用进程的调试器的另一个调试对象。如果调用进程没有被调试,有关调试的行为就不会产生。

10)值:DETACHED_PROCESS

含义:对于控制台进程,新进程没有访问父进程控制台的权限。新进程可以通过AllocConsole函数自己创建一个新的控制台。这个标志不可以与

CREATE_NEW_CONSOLE标志一起使用。

(2)还用来控制新进程的优先类,优先类用来决定此进程的线程调度的优先级。如果下面的优先级类标志都没有被指定,那么默认的优先类是NORMAL_PRIORITY_CLASS,

特殊情况是,如果被创建的进程是IDLE_PRIORITY_CLASS,那么,此情况下子进程的默认优先类是IDLE_PRIORITY_CLASS。

可以下面的标志中的一个:

1)优先级:HIGH_PRIORITY_CLASS

含义:指示这个进程将执行时间临界的任务,所以它必须被立即运行以保证正确。这个优先级的程序优先于正常优先级或空闲优先级的程序。一个例子是Windows任务列表,为了保证当用户调用时可以立刻响应,放弃了对系统负荷的考虑。确保在使用高优先级时应该足够谨慎,因为一个高优先级的CPU关联应用程序可以占用几乎全部的CPU可用时间。

2)优先级:IDLE_PRIORITY_CLASS

含义:指示这个进程的线程只有在系统空闲时才会运行并且可以被任何高优先级的任务打断。例如屏幕保护程序。空闲优先级会被子进程继承。

3)优先级:NORMAL_PRIORITY_CLASS

含义:指示这个进程没有特殊的任务调度要求。

4)优先级:REALTIME_PRIORITY_CLASS

含义:指示这个进程拥有可用的最高优先级。一个拥有实时优先级的进程的线程可以打断所有其他进程线程的执行,包括正在执行重要任务的系统进程。例如,一个执行时间稍长一点的实时进程可能导致磁盘缓存不足或鼠标反映迟钝。

6,lpEnvironment:

指向一个新进程的环境块。如果此参数为空,新进程使用调用进程的环境。

一个环境块存在于一个由以NULL结尾的字符串组成的块中,这个块也是以NULL结尾的。每个字符串都是name=value的形式。

因为相等标志被当作分隔符,所以它不能被环境变量当作变量名。

与其使用应用程序提供的环境块,不如直接把这个参数设为空,系统驱动器上的当前目录信息不会被自动传递给新创建的进程。对于这个情况的探讨和如何处理,请参见注释一节。

环境块可以包含Unicode或ANSI字符。

如果lpEnvironment指向的环境块包含Unicode字符,那么dwCreationFlags 字段的CREATE_UNICODE_ENVIRONMENT标志将被设置。如果块包含ANSI 字符,该标志将被清空。

请注意一个ANSI环境块是由两个零字节结束的:一个是字符串的结尾,另一个用来结束这个快。一个Unicode环境块石油四个零字节结束的:两个代表字符串结束,另两个用来结束块。

7,Current Directory:

NULL结尾的字符串,用来指定子进程的工作路径。这个字符串必须是一个包含驱动器名的绝对路径。如果这个参数为空,新进程将使用与调用进程相同的

驱动器和目录。这个选项是一个需要启动启动应用程序并指定它们的驱动器和工作目录的外壳程序的主要条件。

8,lp Startup Info:

(1)指向一个用于决定新进程的主窗体如何显示的STARTUP INFO结构体。当Wi n d o w s 创建新进程时,它将使用该结构的有关成员。大多数应用程序将要求生成的应用程序仅仅使用默认值。

●成员cb必须初始化为sizeof(STARTUPINFO),

●使用函数GetStartupInfo()使STARTINFO结构获得一个初始默认值,

●最后才,再根据需要设置少数其它几个参数,;

(2)示例:

STARTUPINFO si;

si.cb = sizeof(STARTUPINFO);

GetStartupInfo(&si);

si.h Std Error = hWrite;

si.h Std Output = hWrite;

si.w ShowWindow = SW_HIDE;

si.dw Flags = STARTF_USE SHOW WINDOW | STARTF_USE STD HANDLES;

(3)dwFlags 使用标志及含义

标志含义

STARTF_USE SIZE // 使用d w X S i z e 和d w Y S i z e 成员STARTF_USE SHOW WINDOW//使用w S h o w Wi n d o w 成员

STARTF_USE POSITION//使用d w X 和d w Y 成员

STARTF_USE COUNT CHARS //使用d w X C o u n t C h a r s 和dwYCount Chars 成员STARTF_USE FILL ATTRIBUTE//使用d w F i l l A t t r i b u t e 成员

STARTF_USE STD HANDLES//使用h S t d I n p u t 、h S t d O u t p u t 和h S t d E r r o r 成员STARTF_RUN_FULLSCREEN//强制在x86计算机上运行的控制台应用程序以全屏幕方式启动运行另外还有两个标志,即STARTF_FORCE ON FEEDBACK和STARTF_FORCE OF FEEDBACK,当启动一个新进程时,它们可以用来控制鼠标的光标。由于WINDOWS支持真正的多任务抢占式运行方式,因此可以启动一个应用程序,然后在进程初始化时,使用另一个程序。为了向用户提供直观的反馈信息,CreateProcess能够临时将系统的箭头光标改为一个新光标,即沙漏箭头光标:该光标表示可以等待出现某种情况,也可以继续使用系统。当启动另一个进程时,CreateProcess函数使你能够更好地控制光标。当设定STARTF_FORCE ON FEEDBACK标志时,CreateProcess并不将光标改为沙漏,可使CreateProcess能够监控新进程的初始化,并可根据结果来改变光标。当使用该标志来调用CreateProcess时,光标改为沙漏。过2 s 后,如果新进程没有调用GUI,CreateProcess 将光标恢复为箭头。如果该进程在2 s 内调用了GUI ,CreateProcess将等待该应用程序显示一个窗口。这必须在进程调用GUI后5s 内发生。如果没有显示窗口,CreateProcess就会恢复原来的光标。如果显示了一个窗口,CreateProcess将使沙漏光标继续保留5 s 。如果某个时

候该应用程序调用了GetMessage函数,指明它完成了初始化,那么CreateProcess就会立即恢复原来的光标,并且停止监控新进程。

9,lp Process Information:

指向一个用来接收新进程的识别信息的PROCESS_INFORMATION

结构体。

typedef struct _PROCESS_INFORMATION

{

HANDLE hProcess; //存放每个对象的与进程相关的句柄

HANDLE hThread; //返回的线程句柄。

DWORD dwProcessId; //用来存放进程ID号

DWORD dwThreadId; //用来存放线程ID号

} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;

(三) 返回值:

如果函数执行成功,返回非零值。

如果函数执行失败,返回零,可以使用GetLastError函数获得错误的附加信息。

(四)注释:

1,WinExec和LoadModule函数通过调用CreateProcess函数实现。

2,CreateProcess函数除了创建一个进程,还创建一个线程对象。这个线程将连同一个已初始化了的堆栈一起被创建,堆栈的大小由可执行文件的文件头中的描述决定。线程由文件头处开始执行。

3,新进程和新线程的句柄被以全局访问权限创建。(1)如果没有安全描述符,那么句柄就可以在任何需要句柄类型作为参数的函数中被使用。(2)当提供安全描述符时,在接下来的时候当句柄被使用时,总是会先进行访问权限的检查,如果访问权限检查拒绝访问,请求的进程将不能使用这个句柄访问这个进程。

4,调用进程可以通过WaitForInputIdle函数来等待新进程完成它的初始化并等待用户输入。这对于父进程和子进程之间的同步是极其有用的,因为CreateProcess函数不会等待新进程完成它的初始化工作。举例来说,在试图与新

进程关联的窗口之前,进程应该先调用WaitForInputIdle。

5,首选的结束一个进程的方式是调用ExitProcess函数,因为这个函数通知这个进程的所有动态链接库(DLLs)程序已进入结束状态。其他的结束进程的方法不会通知关联的动态链接库。注意当一个进程调用ExitProcess时,这个进程的其他县城没有机会运行其他任何代码(包括关联动态链接库的终止代码)。

ExitProcess, ExitThread, CreateThread, CreateRemoteThread,当一个进程启动时(调用了CreateProcess的结果)是在进程中序列化进行的。在一段地址空间中,同一时间内这些事件中只有一个可以发生。这意味着下面的限制将保留:

6,*在进程启动和DLL初始化阶段,新的线程可以被创建,但是直到进程的DLL初始化完成前它们都不能开始运行。

*在DLL初始化或卸下例程中进程中只能有一个线程。

*直到所有的线程都完成DLL初始化或卸下后,ExitProcess函数才返回。

7,在进程中的所有线程都终止且进程所有的句柄和它们的线程被通过调用CloseHandle函数终止前,进程会留在系统中。进程和主线程的句柄都必须通过调用CloseHandle函数关闭。如果不再需要这些句柄,最好在创建进程后立刻关闭它们。

8,当进程中最后一个线程终止时,下列的事件发生:

*所有由进程打开的对象都会关闭。

*进程的终止状态(由GetExitCodeProcess函数返回)从它的初始值

STILL_ACTIVE变为最后一个结束的线程的结束状态。

*主线程的线程对象被设置为标志状态,供其他等待这个对象的线程使用。

*进程对象被设置为标志状态,供其他等待这个对象的线程使用。

9,假设当前在C盘上的目录是\MSVC\MFC且有一个环境变量叫做C:,它的值是C:\MSVC\MFC,就像前面lpEnvironment中提到过的那样,这样的系统驱动器上的目录信息在CreateProcess函数的lpEnvironment参数不为空时不会被自动传递到新进程里。一个应用程序必须手动地把当前目录信息传递到新的进程中。为了这样做,应用程序必须直接创建环境字符串,并把它们按字母顺序排列(因为Windows NT和Windows 95使用一种简略的环境变量),并把它们放进lpEnvironment中指定的环境块中。类似的,他们要找到环境块的开头,又要重复一次前面提到的环境块的排序。

10,一种获得驱动器X的当前目录变量的方法是调用

GetFullPathName("x:",..)。这避免了一个应用程序必须去扫描环境块。如果返回的绝对路径是X:\,就不需要把这个值当作一个环境数据去传递了,因为根目录是驱动器X上的新进程的默认当前目录。

11,由CreateProcess函数返回的句柄对于进程对象具有

PROCESS_ALL_ACCESS的访问权限。

12,由lpcurrentDirectory参数指定的当前目录室子进程对象的当前目录。lpCommandLine参数指定的第二个项目是父进程的当前目录。

13,对于Windows NT,当一个进程在指定了

CREATE_NEW_PROCESS_GROUP的情况下被创建时,一个对于SetConsoleCtrlHandler(NULL,True)的调用被用在新的进程上,这意味着对新进程来说CTRL+C是无效的。这使得上层的外科程序可以自己处理CTRL+C信息并有选择的把这些信号传递给子进程。CTRL+BREAK依旧有效,并可被用来中断进程/进程树的执行。

14,第一个参数lpApplicationName可能是空,这种情况下,可执行文件的名字必须在lpCommandLine中,lpCommandLine参数中可以包含空格。如果可执行文件或路径中包含空格,那么就会有执行不正确文件的风险,这是由于这个函数解析空格的方法引起的。例如:下边这个例子就很危险,因为它试图运行Program.exe文件,如果这个文件存在,它就会代替MyApp.exe文件的运行。

CreateProcess(NULL,”C:\\Program Files\\MyApp.exe”,…….)

如果有恶意的用户在系统编写了一个名为Program.exe的文件,那么任何调用CreateProcess函数,且在文件路径中使用Program Files文件夹的参数,都有可能会运行Program.exe文件,而不是运行本来打算运行的文件。

要避免这个问题,可以不要将NULL值传递给lpApplicationName参数,或者在lpCommandLine中使用双引号(转义符)括起可执行文件的全路径名,如下所示:

CreateProcess(NULL,”\”C:\\Program Files\\MyApp.exe\”-L -S”,…….)

-L和-S是MyApp.exe可执行文件的参数。

最后要说明的一点是:在lpApplicationName中的参数和lpCommandLine中的第一个参数是一样的,有人说显得有些重复,其实这样做纯粹是一种被公认化了习惯!

15,快捷信息:

导入库:kernel32.lib

头文件:Winbase.h

(五)其它应用(还未试成)

1、打开指定的URL

TCHAR szAppName[_MAX_PATH] = TEXT("iexplore.exe");//IE浏览器程序

TCHAR szCmdLine[_MAX_PATH] = TEXT("https://www.doczj.com/doc/19695897.html,");

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

2、打开指定的文件夹

TCHAR szAppName[_MAX_PATH] = TEXT("fexplore.exe");//资源管理器程序

TCHAR szCmdLine[_MAX_PATH] = TEXT(\\Windows\\);

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, NULL);

3、打开帮助文件

PROCESS_INFORMA TION pi;

TCHAR szAppName[_MAX_PATH] = TEXT("peghelp.exe");

//系统帮助程序,PC上是在c:\WINDOWS目下的winhlp32.exe

TCHAR szCmdLine[_MAX_PATH] = TEXT("myhelp.html");

//自己制作的帮助文档,甚至是系

//统原有的帮助文件,如wince.htm、bluetooth.htm等等。

//myhelp.html应该放在\Windows目录下

CreateProcess(szAppName,szCmdLine, NULL, NULL,FALSE, 0, NULL, NULL, NULL, &pi); //通过以上的方式,可以在自己的应用程序里打开相应的帮助文件。

4、小结

从以上的3种应用可以看出,只要知道系统自带的应用程序名,就可以通过设定szAppName 和szCmdLine相应的值,来调用相应的程序,来达到自己想要的目的。只要认真挖掘,一定可以发现更多的应用

(六)源码示例:

示例一:

dos系统命令大全

常用doc命令大全 dos和windows最大的不同在于dos命令方式操作,所以使用者需要记住大量命令及其格式使用方法,dos命令分为内部命令和外部命令,内部命令是随每次启动的https://www.doczj.com/doc/19695897.html,装入并常驻内存,而外部命令是一条单独的可执行文件。在操作时要记住的是,内部命令在任何时候都可以使用,而外部命令需要保证命令文件在当前的目录中,或在autoexec.bat文件已经被加载了路径。 常用的内部命令 dos的内部命令是dos操作的基础,下面就来介绍一些常用的dos内部命令。 1、dir 含义:显示指定路径上所有文件或目录的信息 格式:dir [盘符:][路径][文件名] [参数] 参数: /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息; /p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示; /a:显示具有特殊属性的文件; /s:显示当前目录及其子目录下所有的文件。 举例:dir /p 将分屏显示当前目录下文件。在当前屏最后有一个“press any key to continue . . .”提示,表示按任意键继续。 2、cd 含义:进入指定目录 格式:cd [路径] 举例:cd dos cd命令只能进入当前盘符中的目录,其中“cd\”为返回到根目录,“cd..”为返回到上一层目录。 3、md 含义:建立目录 格式:md [盘符][路径] 举例:md temp 表示在当前盘符下建立一个名为temp的目录。 4、rd 含义:删除目录 格式:rd [盘符][路径] 举例:rd temp 表示删除当前路径下的temp目录,需要注意的是,此命令只能删除空目录。 5、copy 含义:拷贝文件 格式:copy [源目录或文件] [目的目录或文件] 举例1:copy c:\*.com d:\",表示将c盘根目录下所有扩展名为com的文件拷贝到d盘根目录中。 举例2:copy c:\autoexec.bat c:\autoexec.bak

网络常见DOS地9大命令,非常实用

网络常见的9大命令 1、ping命令 ping是个使用频率极高的实用程序,主要用于确定网络的连通性。这对确定网络是否正确连接,以及网络连接的状况十分有用。简单的说,ping就是一个测试程序,如果ping运行正确,大体上就可以排除网络访问层、网卡、Modem 的输入输出线路、电缆和路由器等存在的故障,从而缩小问题的围。 ping能够以毫秒为单位显示发送请求到返回应答之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络,连接速度比较快。ping还能显示TTL(Time To Live,生存时间)值,通过TTL值可以推算数据包通过了多少个路由器。 (1) 命令格式 ping 主机名 ping 域名 ping IP地址

如图所示,使用ping命令检查到IP地址210.43.16.17的计算机的连通性,该例为连接正常。共发送了四个测试数据包,正确接收到四个数据包。 (2) ping命令的基本应用 一般情况下,用户可以通过使用一系列ping命令来查找问题出在什么地方,或检验网络运行的情况。 下面就给出一个典型的检测次序及对应的可能故障: ① ping 127.0.0.1 如果测试成功,表明网卡、TCP/IP协议的安装、IP地址、子网掩码的设置正常。如果测试不成功,就表示TCP/IP的安装或设置存在有问题。 ② ping 本机IP地址

如果测试不成功,则表示本地配置或安装存在问题,应当对网络设备和通讯介质进行测试、检查并排除。 ③ ping局域网其他IP 如果测试成功,表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码不正确或网卡配置错误或电缆系统有问题。 ④ ping 网关IP 这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够做出应答。 ⑤ ping 远程IP 如果收到正确应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP的DNS会有问题)。 ⑥ ping localhost local host是系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。否则,则表示主机文件(/Windows/host)中存在问题。 ⑦ ping ..(一个著名域名) 对此域名执行Ping命令,计算机必须先将域名转换成IP地址,通常是通过DNS 服务器。如果这里出现故障,则表示本机DNS服务器的IP地址配置不正确,或它所访问的DNS服务器有故障

DOS 常用命令--cd(part1共8)

DOS 常用命令 ——cd 我们已经使用过cd命令,大家肯定还记得吧。cd是英文change directory(改变目录)的缩写,也是最常用的命令之一。顾名思义,如果想要进入一个目录,显然该采用这个命令了。 在讲cd命令之前,我们先来谈谈提示符是什么意思。现在的提示符是c:\> 这个c:说明现在的工作盘是c盘,即当前盘是硬盘。这个紧接着c:后面的\告诉我们,当前的工作目录是根目录。这个>的作用只是为了把工作目录和我们要输入的命令分隔开来,没有其它的意义。这样,我们就可以从提示符上看出当前的工作盘和工作目录是什么,你如果清楚了这一点,那么学习cd命令就变得轻松自如了。 好,现在我们想进入dos目录,该怎么办呢?对了,直接输入cd dos就行了。 你注意,提示符变了,变成c:\dos>了。这就告诉我们,我们当前的工作目录是c 盘根目录下的dos子目录。如果想退回上一层目录,就键入cd..,看提示符又变回来了。是不是很简单呢?进入子目录就输入cd+空格+子目录名,想返回上一层目录,就输入cd..(两点)。 现在你来练习一下,要进入windows子目录,怎么办?当然是输入cd windows。在windows目录下,还有一个子目录:system,再进去看看,输入cd system,好,暂停一下,这时我想要返回到根目录,这该怎么办?用cd..吗?那当然可以,不过得用两次。我们有更好的办法,其实只需键入cd\三个字符可以一下子就回到根目录,自己试试吧。 cd命令的用途就是让我们可以到任何一个目录去。我们把不同功能的文件分别安排在不同的目录内,是为了管理方便,可是当我们要使用某个文件时,我们就得到该文件所在的目录中去。比如说,要使用wps,就要到wps所在的目录;要用windows,就

DOS常用命令宝典全面+详细

](一)MD——建立子目录 1.功能:创建新的子目录 2.类型:内部命令 3.格式:MD[盘符:][路径名]〈子目录名〉 4.使用说明: (1)“盘符”:指定要建立子目录的磁盘驱动器字母,若省略,则为当前驱动器;(2)“路径名”:要建立的子目录的上级目录名,若缺省则建在当前目录下。例:(1)在C盘的根目录下创建名为FOX的子目录;(2)在FOX子目录下再创建USER子目录。 C:、>MD FOX (在当前驱动器C盘下创建子目录FOX) C:、>MD FOX 、USER (在FOX 子目录下再创建USER子目录) (二)CD——改变当前目录 1.功能:显示当前目录 2.类型:内部命令 3.格式:CD[盘符:][路径名][子目录名] 4.使用说明: (1)如果省略路径和子目录名则显示当前目录; (2)如采用“CD、”格式,则退回到根目录; (3)如采用“CD.。”格式则退回到上一级目录。 例:(1)进入到USER子目录;(2)从USER子目录退回到子目录;(3)返回到根目录。 C:、>CD FOX 、USER(进入FOX子目录下的USER子目录) C:、FOX、USER>CD.。(退回上一级根目录) C:、FOX>CD、 (返回到根目录) C:、> (三)RD——删除子目录命令 1.功能:从指定的磁盘删除了目录。 2.类型:内部命令 3.格式:RD[盘符:][路径名][子目录名] 4.使用说明: (1)子目录在删除前必须是空的,也就是说需要先进入该子目录,使用DEL(删除文件的命令)将其子目录下的文件删空,然后再退回到上一级目录,用RD命令删除该了目录本身; (2)不能删除根目录和当前目录。 例:要求把C盘FOX子目录下的USER子目录删除,操作如下: 第一步:先将USER子目录下的文件删空; C、>DEL C:、FOX、USER、*。* 第二步,删除USER子目录。 C、>RD C:、FOX、USER

常见DOS命令大全和使用方法

Windows DOS窗口打开方法,开始-运行-输入CMD-回车确认即可打开。DOS常用命令大全dos命令 dos下各种常见命令索引 ▲dir ▲attrib ▲cd ▲copy ▲xcopy ▲del ▲undelete ▲deltree ▲dos=high ▲doskey ▲emm386.exe ▲fc ▲format ▲unformat ▲interlnk ▲intersvr ▲memmaker ▲memitem等 ▲mscdex ▲msd

▲prompt ▲ramdrive ▲subst ▲mem ▲"><>><<"工具 ▲move ▲append ▲call ▲defrag ▲device 一、DIR 命令的格式: dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件或非隐含文件. [r/-r]只显示只读文件或非只读文件 [s/-s]只显示系统文件或非系统文件 [a/-a]只显示要归档文件或非归档文件 (2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前/o[n/-n]:按字母顺序或按文件名顺序/反向显示 [e/-e]:按扩展名字母顺序/反向显示 [d/-d]:按时间顺序/反向显示 [s/-s]:按大小从大到小或/反向显示

[g/-g]:按子目录先于文件或文件先于子目录 (3)/s 参数:对当前目录及其子目录中所有文件进行列表 列名:dir /s/a/o:n c:\>PRN 将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出 (4)/B 参数:将只显示文件名与扩展名 (5)/L 参数:将全部用小写字母对文件或子目录进行列表 训练: dir /a 列当前目录所有文件(含隐含及系统文件) dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h dir /as 列系统文件dir /a-s dir /ad 列子目录dir /a-d dir /o 按字母顺序 dir /B 只显示文件名与扩展名 二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s] 缺省attrib name 显示文件的(文件)属性 attrib io.sys (或子目录) shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件 也可以attrib *.sys 显示扩展名为sys的文件属性 参数[+r|-r] 将文件属性设置或解除只读属性 [+a|-a] 将文件属性设置或解除归档属性 [+h|-h] 将文件属性设置或解除隐含属性(尤其对子目录也起作用) /s 参数将当前及当前子目录下的所有文件均起作用

计算机基础之常用DOS命令

计算机基础之常用DOS命令 一:目录操作类命令 1)DIR--显示磁盘目录命令 1.功能:显示指定目录下的文件和子目录 2.类型:内部命令 3.格式:DIR [盘符][路径][/P][/W][/S][/A] 4.使用说明: /P:分屏显示 /W:宽行显示文件和子目录 /S:连同子目录下的文件一同显示。 /A:显示具有指定属性的文件和子目录 2)CD--改变当前目录 1.功能:改变当前目录 2.类型:内部命令 3.格式:CD[盘符][路径名][子目录名] 4.使用说明: 1)如果省略路径和子目录名则显示当前目录; 2)如采用“CD \”格式,则退回到根目录; 3)如采用“CD ..”格式则退回到上一级目录。3)MD--建立子目录 1.功能:在磁盘中创建新的子目录 2.类型:内部命令 3.格式:MD[盘符][路径名]〈子目录名〉 4.使用说明: 1)“盘符”:指定要建立子目录的磁盘驱动器字母 2)“路径名”:要建立的子目录的上级目录名 3)可以一次性建立多个接连式目录。 4)RD--删除子目录命令 1.功能:从指定的磁盘删除空的子目录。 2.类型:内部命令 3.格式:RD[盘符][路径名]<子目录名>[/S] 4.使用说明: 1)子目录在删除前必须是空的 2)不能删除根目录和当前目录 二:磁盘操作类命令

1)FORMA T--磁盘格式化命令 1.功能:格式化磁盘,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备 2.类型:外部命令 3.格式:FORMA T〈盘符〉[/S][/Q] 备注: 一、选用[/S]参数,将把DOS系统文件IO.SYS 、MSDOS.SYS及https://www.doczj.com/doc/19695897.html, 复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磁盘只能读写信息,而不能做为启动盘。 二、选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。 2)CHKDSK--检查磁盘当前状态命令 1.功能:用于检查格式化过的磁盘,包括文件类型,总容量和可利用空间大小,同时还统计出系统文件、数据文件、坏扇区分别占用多少空间。 2.类型:外部命令 3.格式:CHKDSK [盘符][路径][文件名][/F][/V] 4.使用说明: 一、选用[文件名]参数,则显示该文件占用磁盘的情况; 二、选[/F]参数,纠正在指定磁盘上发现的逻辑错误; 三、选用[/V]参数,显示盘上的所有文件和路径 三:文件操作类命令 1)COPY --文件复制命令 1.功能: 一、利用COPY命令复制文件; 二、利用COPY命令连接多个文件; 三、利用COPY命令将键盘输入信息复制到文件中; 四、把文件的内容通过显示器输出显示; 五、利用COPY命令删除一个文件。 2.类型:内部命令 3.格式: 1)COPY  <源文件名全称>[目标文件名全称] 2)COPY  <源文件名全称1>+<源文件名全称2>+[+…] [目标文件名全称] [/B][/A] 3)COPY  CON <目标文件名全称> 4)COPY  <目标文件名全称> CON 5)COPY  NUL <目标文件名全称>(补充内容) 4.使用说明: 1)COPY是文件对文件的方式复制数据,复制前目标盘必须已经格式化;

电脑系统(DOS命令大全

若电脑虽然有问题但还能进入Windows, 1.请依次点击“开始→程序→ MS-DOS方式”,你还可以点击“开始→运行”,在打开的对话框里输入“command”(不带引号,下同)。若你的系统是Windows XP/2000,则输入“cmd”,同样可以进入DOS。 2.对于Windows 98系统,还可以点击“开始→关闭系统”,在出现的对话框中选择“重新启动计算机并切换到MS-DOS环境”,即可进入DOS。 3.在开机通过自检后,屏幕出现“Starting Windows 98…”的字样时,立即按下“F8”键,接着选择“Safe Mode Command Prompt Only”或“Command Prompt Only”,即可进入安全模式DOS或纯DOS。 4.系统崩溃了,重新启动计算机,按住Ctrl键,在出现的屏幕信息中选择“Safe Mode Command Prompt Only”或“Command Prompt Only”,即可进入安全模式DOS或纯DOS。 5.若无法进入Windows,重新启动计算机,进入CMOS,将BIOS中的第一启动顺序(1st Boot Device)改成软驱(Floppy),保存后插入系统盘即可。 DOS命令大全!!常用的有哪些呢? DOS:disk operate system,磁盘操作系统,DOS命令又分内部命令和外部命令。 内部命令又称为驻机命令,它是随着DOS系统的启动同时被加载到内存里且长驻内存。 也就是说,只要启动了DOS系统,我们就可以使用内部命令。 外部命令是储存在磁盘上的可执行文件,执行这些外部命令需要从磁盘将其文件调入内存,因此,外部命令只有该文件存在时才能使用。带有.COM、.EXE、.BAT等扩展名的文件都可看成是外部命令。 常用的内部命令有MD、CD、RD、DIR、PATH、COPY、TYPE、EDIT、REN、DEL、CLS、VER、DATE、TIME、PROMPT。 常用的外部命令有DELTREE、FORMA T、DISKCOPY、LABEL、VOL、SYS、XCOPY、FC、ATTRIB、MEM、TREE。 常用的内部命令详解 1.MD——建立子目录 功能:创建新的子目录 类型:内部命令ü 格式:MD[盘符:][路径名]〈子目录名〉 FOR 1: C:\>md y /*---建立y子目录---*/ 2.CD——改变当前目录 功能:显示当前目录ü 类型:内部命令ü 格式:CD[盘符:][路径名][子目录名] 说明:CD命令不能改变当前所在的盘,CD..退回到上一级目录,CD\表示返回到当前盘的目录下,CD无参数时显示当前目录名。 FOR 2: C:\>cd y /*---显示当前目录y---*/ 3.RD——删除子目录命令 功能:从指定的磁盘删除了目录。

Dos命令使用方法及操作

MS DOS 命令大全 顺德一中德胜学校王兵 教学目标: 学生了解Dos命令的基本意义; 学生掌握常用的Dos命令; 学生学会使用基于网络的Dos命令。 教学内容: 一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。(dos下面习惯叫目录,win下面习惯叫文件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名路径\文件名:把一个文件拷贝到另一个地方。 6 move move 路径\文件名路径\文件名:把一个文件移动(就是剪切+复制)到另一个地方。

7 del del 文件名:删除一个文件。 del *.*:删除当前文件夹下所有文件。 del不能删除文件夹。 8 deltree 删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。 9 format format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式 化的,在windows2000安装的时候会问你要不要转换为ntfs。 10 type type 文本文件名:显示出文本文件的内容。 11 edit 其实这是个小程序,编辑文本文件用的。 12 ren ren 旧文件名新文件名:改文件名。 二、关于网络的常用命令 1 ping ping 主机ip或名字:向目标主机发送4个icmp数据包,测试对方主机是否收到并响应,一般常用于做普通网络是否通畅的测试。但是ping不同不代表网络不通,有可能是目标主机装有防火墙并且阻止了icmp响应。 ping -t :不停的发送数据包。当然都很小,不能称作攻击。有些人自己写 了一些类似于ping命令的程序,不停的发送很大的数据包,以阻塞目标主机的网络连接。 2 net 建议是用net /?获取具体帮助信息。实在是有很多参数,参数下面还有参 数。常用:net view \\主机来看共享,net start/stop 服务来启动和停 止服务,信使服务个人不太喜欢。 3 netstat netstat 主机:查看主机当前的tcp/ip连接状态,如端口的状态。 4 nbtstat nbtstat 主机:查看主机使用的NetBIOS name。

计算机网络常用的dos命令

计算机网络常用的dos命令[原文地址] 1.最基本,最常用的,测试物理网络的 ping 192.168.10.88 -t ,参数-t是等待用户去中断测试 2.查看DNS、IP、Mac等 A.Win98:winipcfg B.Win2000以上:Ipconfig/all C.NSLOOKUP:如查看河北的DNS C:\>nslookup Default Server: https://www.doczj.com/doc/19695897.html, Address: 202.99.160.68 >server 202.99.41.2 则将DNS改为了41.2 > https://www.doczj.com/doc/19695897.html, Server: https://www.doczj.com/doc/19695897.html, Address: 202.99.160.68 Non-authoritative answer: Name: https://www.doczj.com/doc/19695897.html, Address: 202.99.160.212 3.网络信使 Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段net stop messenger 停止信使服务,也可以在面板-服务修改net start messenger 开始信使服务

4.探测对方对方计算机名,所在的组、域及当前用户名 ping -a IP -t ,只显示NetBios名 nbtstat -a 192.168.10.146 比较全的 https://www.doczj.com/doc/19695897.html,stat -a 显示出你的计算机当前所开放的所有端口 netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和IP的统计等 6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址 arp -a 7.在代理服务器端捆绑IP和MAC地址,解决局域网内盗用IP: ARP -s 192.168.10.59 00-50-ff-6c-08-75 解除网卡的IP与MAC地址的绑定: arp -d 网卡IP 8.在网络邻居上隐藏你的计算机 net config server /hidden:yes net config server /hidden:no 则为开启 9.几个net命令

Windows cmd常用命令

4Windows cmd常用命令: cd 改变当前目录sys 制作DOS系统盘 deltree 删除目录树dir 列文件名 diskcopy 复制磁盘edit 文本编辑 format 格式化磁盘md 建立子目录 mem 查看内存状况type 显示文件内容 rd 删除目录ren 改变文件名 cls 清屏Windows下的命令行 〔适用场合〕屏幕上太乱了,或是屏幕上出现乱码了,清除屏幕上显示内容但不影响电脑内部任何信息 〔用法〕cls 回车 move 移动文件,改目录名 〔适用场合〕移动文件到别的目录 〔用法〕move [文件名] [目录] 移动文件至新目录下 move [目录名] [目录名] 改目录名 〔例子〕c:\>move c:\autoexec.bat c:\old 移动autoexec.bat文件至old目录下 c:\>move c:\config.sys c:\old 移动config.sys文件至old目录下 more 分屏显示 〔适用场合〕当输出很多一屏显示不下时采用,几乎适合所有命令,尤其是type等命令时很有用。使用more时磁盘不能有写保护,也不适合光驱。 〔用法〕type [文件名] | more 分屏显示文件内容 more < [文件名] 分屏显示文件内容 〔例子〕C:\>type msdos.w40 | more xcopy 拷贝目录和文件

〔适用场合〕在进行连同子目录一起拷贝时很有用,在拷贝大量文件时比COPY命令要快得多 〔用法〕xcopy [文件名] [目录] 将指定文件拷贝到指定目录 xcopy [源目录] [目的目录] 将源目录连子目录拷到目的目录下 xcopy *.* [目录] /s 将文件与非空子目录拷贝到指定目录 其它常用参数还有:v 拷贝后校验,会影响速度 e 与s 相似,但即使子目录是空的也会拷贝 4.1help 帮助 〔适用场合〕当想具体了解DOS命令的使用方法时使用 〔用法〕help 提供所有DOS命令帮助 help [DOS命令] 提供有关命令的帮助 如果你只大致记得某个命令,可以在提示符后直接输入help命令,然后将出现下面的画面: attrib 设置文件属性 〔适用场合〕想对文件做较特殊的处理时 〔用法〕attrib 显示所有文件的属性 attrib +r或-r [文件名] 设置文件属性是否为只读 attrib +h或-h [文件名] 设置文件属性是否隐含 attrib +s或-s [文件名] 设置文件属性是否为系统文件 attrib +a或-a [文件名] 设置文件属性是否为归档文件 attrib /s 设置包括子目录的文件在内的文件属性 〔例子〕C:\TEST>attrib +r wina20.386 C:\>attrib +h *.* /s 隐含所有文件

DOS常用命令集

一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。(dos下面习惯叫目录,win下面习惯叫文件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名路径\文件名:把一个文件拷贝到另一个地方。 6 move

move 路径\文件名路径\文件名:把一个文件移动(就是剪切+复制)到另 一个地方。 7 del del 文件名:删除一个文件。 del *.*:删除当前文件夹下所有文件。 del不能删除文件夹。 8 deltree 删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。 9 format format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式 化的,在windows2000安装的时候会问你要不要转换为ntfs。 10 type type 文本文件名:显示出文本文件的内容。 11 edit 其实这是个小程序,编辑文本文件用的。 12 ren ren 旧文件名新文件名:改文件名。 二、关于网络的常用命令 1 ping ping 主机ip或名字:向目标主机发送4个icmp数据包,测试对方主机是否收到并响应,一般常用于做普通网络是否通畅的测试。但是ping不同不代表网络不通,有可能是目标主机装有防火墙并且阻止了icmp响应。 ping -t :不停的发送数据包。当然都很小,不能称作攻击。有些人自己写 了一些类似于ping命令的程序,不停的发送很大的数据包,以阻塞目标主机

常用DOS命令大全及其用法详解

求常用DOS命令大全及其用法!!! 浏览次数:63883次悬赏分:0 |解决时间:2009-5-21 13:38 |提问者:雪枫之哀伤 越详细的越好~~~ 拜托了!!! 最佳答案 既然自己不愿搜,我就帮你搜吧 一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,出现如图1。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。 -t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。 -n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。 说明一下,如果-t 参数和-n参数一起使用,ping命令就以放在后面的参数为标准,比如―ping IP -t -n 3‖,虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。 下面我们举个例子来说明一下具体用法,如图2。 这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说―初步判断‖是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 (小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix)

网络管理常用DOS命令

实验一网络管理常用DOS命令 【实验名称】 网络管理常用操作命令的使用 【实验目的】 熟练掌握ping命令的使用,熟悉了解NET命令的使用 了解nbtstat 、netstat、tracert命令的基本使用方法 【实验设备】 计算机网络环境 PC计算机(操作系统:windows 98/xp/2000/2003) 【实验步骤】 第一步:实现主机互联 第二步:实现互联网连接 第三步:常用DOS 命令的使用练习 1、PING 命令: 网络连通性测试命令 Ping 命令是对两个TCP/IP 系统连通性进行测试的基本工具,目的是为了测试目标主机是否可达。它利用ICMP 回显请求和回显应答报文,而不用经过传输层(TCP/UDP),Ping 只有在安装了TCP/IP 协议以后才可以使用。 PING 的使用格式及参数: ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list -t 不停的ping 目的主机,直到按下Control-C 中断。此功能没有什么特别的技巧,不过可以配合其他参数使用。 -a将地址解析为计算机名。 -n count发送count 指定的ECHO 数据包数。默认值为4。通过-n 选项可以定义发送的个数,对衡量网络速度很有帮助。

-l length发送包含由length 指定的数据量的ECHO 数据包。默认为32 字节;最大值是 65,527。在默认的情况下windows 下的ping 发送的数据包大小为32byte,也可以通过-L 选项定义它的大小,但上限只能发送65500byte。由于Windows 系统的安全漏洞,当向对方一次发送的数据包大于或等于65532 时,对方就很有可能down 掉。 例如: C:\D-Lab>ping -l 65500 -t 192.168.25.123 //不停的向IP 为192.168.25.123 发送大小为65500 字节的数据包,此命令带有攻击性。 Pinging 192.168.25.123 with 65500 bytes of data: Reply from 192.168.25.123: bytes=65500 time<10ms TTL=254 Reply from 192.168.25.123: bytes=65500 time<10ms TTL=254 ……………… 这种攻击的后果是使目的主机网络资源枯竭,各种服务被中断。 -r count在"记录路由"字段中记录传出和返回数据包的路由。count 可以指定最少1台,最多9 台计算机。在“记录路由”字段中记录发出和返回数据包的路由。指定的count 值最小是1,最大是9 。在一般情况下你发送的数据包是通过一个个路由才到达目的。通过此参数就可以设定想探测经过的路由的个数,不过限制数为9 个,也就是说只能跟踪到最多9 个路由。 例如: C:\D-Lab>ping -n 1 -r 9 202.96.105.101 //发送一个数据包,记录9 个路由 Pinging 202.96.105.101 with 32 bytes of data: Reply from 202.96.105.101: bytes=32 time=10ms TTL=249 Route: 202.107.208.187 -> 202.107.210.214 -> 61.153.112.70 -> 61.153.112.89 -> 202.96.105.149 -> 202.96.105.97 -> 202.96.105.101 -> 202.96.105.150 -> 61.153.112.90 Ping statistics for 202.96.105.101: Packets: Sent = 1, Received = 1, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 10ms, Maximum = 10ms, Average = 10ms 其他参数的使用请参考相关资料. Ping 检查连通性有五个步骤: 1. 使用ipconfig /all观察本地网络设置是否正确; 2. Ping 127.0.0.1,127.0.0.1 回送地址Ping 回送地址是为了检查本地的TCP/IP 协议有没有设置好;

dos指令大全

dos指令大全 dos命令大全 dos下各种常见命令索引▲dir ▲attrib ▲cd ▲copy ▲xcopy ▲del ▲undelete ▲deltree ▲dos=high ▲doskey ▲emm386.exe ▲fc ▲format ▲unformat ▲interlnk ▲intersvr ▲memmaker ▲memitem等 ▲mscdex ▲msd ▲prompt ▲ramdrive ▲subst ▲mem ▲"> < >> <<"工具 ▲move ▲append ▲call ▲defrag ▲device 一、DIR 命令的格式: dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件或非隐含文件. [r/-r]只显示只读文件或非只读文件 [s/-s]只显示系统文件或非系统文件 [a/-a]只显示要归档文件或非归档文件 (2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前/o[n/-n]:按字母顺序或按文件名顺序/反向显示

[e/-e]:按扩展名字母顺序/反向显示 [d/-d]:按时间顺序/反向显示 [s/-s]:按大小从大到小或/反向显示 [g/-g]:按子目录先于文件或文件先于子目录 (3)/s 参数:对当前目录及其子目录中所有文件进行列表 列名:dir /s/a/o:n c:\>PRN 将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出 (4)/B 参数:将只显示文件名与扩展名 (5)/L 参数:将全部用小写字母对文件或子目录进行列表 训练: dir /a 列当前目录所有文件(含隐含及系统文件) dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h dir /as 列系统文件dir /a-s dir /ad 列子目录dir /a-d dir /o 按字母顺序 dir /B 只显示文件名与扩展名 二、attrib [+r|-r] [+a|-a] [+s|-s] [+h|-h] [d: ] [name] [/s] 缺省attrib name 显示文件的(文件)属性 attrib io.sys (或子目录) shr c:\ io.sys 指定为系统(s) 隐含(h) 只读(r)文件 也可以attrib *.sys 显示扩展名为sys的文件属性 参数[+r|-r] 将文件属性设置或解除只读属性 [+a|-a] 将文件属性设置或解除归档属性 [+h|-h] 将文件属性设置或解除隐含属性(尤其对子目录也起作用) /s 参数将当前及当前子目录下的所有文件均起作用 可以用来查找文件 例子: attrib news86 列news86的文档属性 attrib +r report.txt 设置为只读attrib -s -h record.txt attrib +a a:*.* attrib -a a:*.bak xcopy a: b: /a 将A盘上的所有标志为"归档"属性的文件拷到B盘 xcopy a: b: /m 将A盘上的所有文件拷到B盘后并移去归档属性 三、cd 介绍: cd...返回上二级目录"."代表当前目录"."代表父目录 cd ..\..返回到上级目录的父目录(祖目录) cd A:\ 将A盘的当前目录改为根目录 cd A:\xx 将A盘的当前目录改为子目录xx下 cd ..\98 先返回父目录,再进入父目录下的98子目录 cd ..返回到父目录 cd\98 进入根目录下的98子目录

常用DOS命令大全

常用DOS命令大全 2012-2-19 8:00:24 | 浏览:9627 评论数:0 dos下各种常见命令索引▲ dir▲ attrib▲ cd▲ copy▲ xcopy ▲ del▲ undelete▲ deltree▲ dos=high▲ doskey▲ emm386.exe▲ fc ▲ format▲ unformat▲ interlnk▲ intersvr▲ memmaker▲ memitem等 ▲ mscdex▲ msd▲ prompt▲ ramdrive▲ subst▲ mem▲ "> < >> <<"工具▲ move▲ append▲ call▲ defrag▲ device 一、DIR 命令的格式: dir [D:][PATH][NAME][[/A][:attrib]][/o:[sorted][/s][/b][/l][/c[h] (1)dir /a:attrib 缺省包含所有文件(系统文件.隐含文件) attrib[:][h/-h]只显示隐含文件或非隐含文件. [r/-r]只显示只读文件或非只读文件 [s/-s]只显示系统文件或非系统文件 [a/-a]只显示要归档文件或非归档文件 (2)/o[:]sorted:缺省完全按字母顺序,子目录显示在文件之前 /o[n/-n]:按字母顺序或按文件名顺序/反向显示

[e/-e]:按扩展名字母顺序/反向显示 [d/-d]:按时间顺序/反向显示 [s/-s]:按大小从大到小或/反向显示 [g/-g]:按子目录先于文件或文件先于子目录 (3)/s 参数:对当前目录及其子目录中所有文件进行列表 列名:dir /s/a/o:n c:\>PRN 将c盘上的所有子目录和文件按隶属关系并根据子目录和文件字母顺序打印输出 (4)/B 参数:将只显示文件名与扩展名 (5)/L 参数:将全部用小写字母对文件或子目录进行列表 训练: dir /a 列当前目录所有文件(含隐含及系统文件) dir /ah 列隐含文件(包含子目录(隐含的) dir /a-h dir /as 列系统文件dir /a-s dir /ad 列子目录dir /a-d dir /o 按字母顺序 dir /B 只显示文件名与扩展名

DOS操作系统 常用命令

DOS 操 作 系 统 常用命令

第1节DOS的概述 1.什么是DOS DOS(Disk Operating System)是一种单用户单任务磁盘操作系统。 DOS是英文Disk Operating System(磁盘操作系统)的缩写,它最早是由美国微软(Microsoft)公司研制开发的一种操作系统。有时会看到MS-DOS或PC-DOS两种提法,其实这两者的功能差不多,只不过MS-DOS是由微软公司(Microsoft缩写是MS)制作销售的,而PC-DOS是由国际商用机器公司(IBM)制作销售的。当然Windows操作系统中所包含的DOS是属于MS-DOS。 在DOS中,用户也可以管理设备和文件。如进行打印文件、删除文件、复制文件等操作。 2.DOS的发展 自从DOS在1981年问世以来,版本就不断更新,纯DOS从最初的DOS1.0升级到DOS6.22(纯DOS),这以后的新版本DOS都是由Windows系统所提供的,并不单独存在,版本有Windows 95下的DOS7.0,Windows ME下的DOS8.0等。 3.DOS的组成 DOS分为核心启动程序和命令程序两个部分。 DOS的核心启动程序有Boot系统引导程序、IO.SYS、MSDOS.SYS和https://www.doczj.com/doc/19695897.html,。它们是构成DOS系统最基础的几个部分,有了它们系统就可以启动。 (1)引导程序(Boot Record) 引导程序在磁盘上的0面0道1扇区上,其作用是将DOS的三个功能模块装入内存。 (2)输入/输出管理模块(IO.SYS) 管理微机的输入/输出设备,实现对磁盘、显示器、打印机、串行接口磁盘等设备的控制 (3)文件管理模块(MSDOS.SYS) 是DOS的核心,负责管理磁盘上的文件的建立和调用 (4)命令处理模块(https://www.doczj.com/doc/19695897.html,) 接收用户通过键盘输入的命令,并对命令进行分析后加以处理。 4.DOS环境的进入和退出 (1)开机进入DOS 开机一小段时间后按[F8]键,屏幕会显示菜单,选择(带命令行的安全模式),回车后直接进入DOS环境。 (2)"程序"菜单中进入DOS ①Windows 95/98/me: “开始”-->“程序”-->“DOS”,就可进入DOS。这时的DOS环境只是Windows的一个应用程序窗口,这样用户可以在不关闭其它程序的情况下采用这种方式进入DOS,并且很容易地在各个程序窗口间进行切换。 ②Windows 2000/NT/XP: “开始”-->“所有程序”-->“附件”-->“命令提示符”, 返回Windows只需输入“EXIT”命令即可。 (3)在“运行”对话框中输入命令DOS

相关主题
文本预览
相关文档 最新文档