1,WinExec():
WinExec主要运行EXE文件,不能运行其他类型的文件。不用引用特别单元。
原型:UINT WinExec(exePath,ShowCmd)
示例,我想要用记事本打开"C:\HDC.TXT",以正常方式运行:WinExec(pChar('notepad c:\taoyoyo.txt'),SW_SHOWNORMAL);
参数说明:
--xePath:命令行参数。注意,要用pChar转化一下。
--ShowCmd:外部程序的运行方式。其取值如下:
----SW_HIDE 隐藏
----SW_MAXIMIZE 最大化
----SW_MINIMIZE 最小化,并把Z order顺序在此窗口之后(即窗口下一层)的窗口激活
----SW_RESTORE 激活窗口并还原为初始化大小 SW_SHOW 以当前大小和状态激活窗口
----SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
----SW_SHOWDEFAULT 以默认方式运行
----SW_SHOWMAXIMIZED 激活窗口并最大化
----SW_SHOWMINIMIZED 激活窗口并最小化
----SW_SHOWMINNOACTIVE 最小化但不改变当前激活的窗口
----SW_SHOWNA 以当前状态显示窗口但不改变当前激活的窗口
----SW_SHOWNOACTIVATE 以初始化大小显示窗口但不改变当前激活的窗口
----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() :
不仅可以运行EXE文件,也可以运行系统已经关联的文件。
这个函数和WIN9X中的命令行命令"start"类似,不光可以对文件进行操作,还可以对HTTP、MAILTO等进行操作。这样我们可以设计有超级链接风格的程序了。
ShellExecute的功能要强得多,并且可以完全替代WinExec(),事实上,WinExec()也是为了和以前版本兼容而保留,所以,我们要尽量使用ShellExecute()。
首先必须引用shellapi.pas单元:uses ShellAPI;
函数原型:function ShellExecute(hWnd: HWND; Operatio