当前位置导航:炫浪网>>网络学院>>编程开发>>C++教程>>C++基础入门教程

启动新的应用程序

      在for DOS的C语言中,有一个system()函数,其功能是执行命令行程序,在VB中也有shell()函数,在Windows程序设计中WinAPI也为我们提供了类似的函数,它们就是WinExec()和ShellExecute(),下面就来讨论一下这两个函数的用法。
    1)WinExec()
    函数原型: UINT WinExec(LPCSTR lpCmdLine,UINT UCmdShow);
    参数说明:(激活的意思是能接受焦点,即标题栏变成蓝色)
    lpCmdLine:以0结尾的字符串,命令行参数。
    uCmdShow:新的应用程序的运行方式。其取值如下:
    SW_HIDE隐藏
    SW_MAXIMIZE最大化
    SW_MINIMIZE最小化,并把Z order顺序在此窗口之后(即窗口下一层)的窗口激活
    SW_RESTORE激活窗口并还原为初始化大小
    SW_SHOW以当前大小和状态激活窗口
    SW_SHOWDEFAULT以默认方式运行
    SW_SHOWMAXIMIZED激活窗口并最大化
    SW_SHOWMINIMIZED激活窗口并最小化
    SW_SHOWMINNOACTIVE最小化但不改变当前激活的窗口
    SW_SHOWNA以当前状态显示窗口但不改变当前激活的窗口
    SW_SHOWNOACTIVATE以初始化大小显示窗口但不改变当前激活的窗口
    SW_SHOWNORMAL激活并显示窗口,如果是最大(小)化,窗口将会还原。第一次运行程序 时应该使用这个值

    比如说,我想要用记事本打开"C:\HDC.TXT",以正常方式运行:
    WinExec("notepad c:\\hdc.txt",SW_SHOWNORMAL);
    如果调用成功,这个函数会返回一个不小于31的值,否则调用失败,其返回值的意义如下:
    0系统内存或资源不足
    ERROR_BAD_FORMAT.EXE文件格式无效(比如不是32位应用程序)
    ERROR_FILE_NOT_FOUND指定的文件设有找到
    ERROR_PATH_NOT_FOUND指定的路径没有找到

    这个函数和system()非常类似,只能运行.EXE文件,这样在WINDOWS中有它不尽人意的地方,比如不能用此方法通过关联的方法打开文件,例如WinExec("1.html",SW_SHOWNA);就不能打开此文档。
    2)ShellExecute()
    函数原型:
    HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd );
    参数说明:
    hwnd窗口的句柄
    lpOperation进行的操作,如"open","print","eXPlore"分别对应"打开","打印","游览", 也可以为空(""),此时表示进行默认的操作。 lpFile 要操作的文件。

    lpParameters如果lpFile指定的是一个可执行文件则表示参数
    lpDirectory操作进行的目录
    nShowCmd程序的运行方式,其取值见上例。

 

共2页 首页 上一页 1 2 下一页 尾页 跳转到
相关内容
赞助商链接