WinExec()和system()的区别(三)

2014-11-24 07:38:45 · 作者: · 浏览: 7
空结尾的串,该串定义了子进程的当前驱动器和当前目录。
  lpStartupInfo:指向一个STARTUPINFO结构,该结构定义了新进程的主窗口将如何显示。
  lpProcessInformation:指向PROCESS_INFORMATION结构,该结构接受关于新进程的表示信息。
  ⑶ 返回值:
  若函数调用成功,则返回值不为0;若函数调用失败,返回值为0。
  ShellExecute和WinExec命令用于简单的作业。如果要完全控制一个新进程,就必须调用CreateProcess。
  在上述参数中,参数lpStartupInfo是STARTUPINFO结构。可以用来设置控台的标题,新窗口的的初始大小和位置,及重定向标准输入和输出。新程序通常可以忽略多数这些数据项,如果选择那样做的话。可以规定该结构体中的标志,已表明要设置的数据段。有时,不想设置任何信息,也必须传递一个有效的指针给空结构(确定设置大小到cb,及设置dwFlags成员为0)。参数lpProcessInformation返回进程和线程句柄,还包括进程和线程ID。这些句柄拥有在参数lpProcessAttributes和lpThreadAttributes中规定的访问。
  要注意,针对CreateProcess的一些参数对控制台应用程序是特定的,而其它参数则对各种应用程序有用。大多数情况下,并不一定要填入STARTUPINFO结构,但无论如何必须提供它。其返回值是布尔型的,而真正感兴趣的返回值发生于作为参数传送的结构中(PROCESS_INFORMATION)。CreateProcess返回该结构中的进程ID及其句柄,以及初始线程ID及其句柄。可以将ID发送到其它进程,或使用句柄来控制新进程。
函数名称: system www.2cto.com
函数原型: int system(const char *command)
函数功能: 调用DOS命令
函数返回:
参数说明:
所属文件:
#include
#include
int main()
{
system( "dir ");
return 0;
}