关于SHELLEXECUTEINFO的用法?
的有关信息介绍如下:ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。返回值:执行成功会返回应用程序句柄返回的HINSTANCE可以将它转换为一个整数(%d),并比较它的值大于还是小于32或比较它的错误代码返回值大于32表示执行成功返回值小于32表示执行错误返回值可能的错误有:=0{内存不足}ERROR_FILE_NOT_FOUND=2;{文件名错误}ERROR_PATH_NOT_FOUND=3;{路径名错误}ERROR_BAD_FORMAT=11;{EXE文件无效}SE_ERR_SHARE=26;{发生共享错误}SE_ERR_ASSOCINCOMPLETE=27;{文件名不完全或无效}SE_ERR_DDETIMEOUT=28;{超时}SE_ERR_DDEFAIL=29;{DDE事务失败}SE_ERR_DDEBUSY=30;{正在处理其他DDE事务而不能完成该DDE事务}SE_ERR_NOASSOC=31;{没有相关联的应用程序}示例:下面的示例演示如何启动一个应用程序或将文档加载到其关联的应用程序。WindowsAPIShellExecute()函数是文档的不同于VisualBasicShell()函数,可以将ShellExecute()函数传递的名称,它将启动关联的应用程序,然后将文件名传递给应用程序。在VisualBasic中开始一个新项目。默认情况下,将创建Form1。将以下代码添加到Form1的通用声明部分:OptionExplicitPrivateDeclareFunctionShellExecuteLib"shell32.dll"Alias"ShellExecuteA"(ByValhwndAsLong,ByVallpszOpAsString,ByVallpszFileAsString,ByVallpszParamsAsString,ByVallpszDirAsString,ByValFsShowCmdAsLong)AsLongPrivateDeclareFunctionGetDesktopWindowLib"user32"()AsLongConstSW_SHOWNORMAL=1ConstSE_ERR_FNF=2&ConstSE_ERR_PNF=3&ConstSE_ERR_ACCESSDENIED=5&ConstSE_ERR_OOM=8&ConstSE_ERR_DLLNOTFOUND=32&ConstSE_ERR_SHARE=26&ConstSE_ERR_ASSOCINCOMPLETE=27&ConstSE_ERR_DDETIMEOUT=28&ConstSE_ERR_DDEFAIL=29&ConstSE_ERR_DDEBUSY=30&ConstSE_ERR_NOASSOC=31&ConstERROR_BAD_FORMAT=11&FunctionStartDoc(DocNameAsString)AsLongDimScr_hDCAsLongScr_hDC=GetDesktopWindow()StartDoc=ShellExecute(Scr_hDC,"Open",DocName,"","C:\",SW_SHOWNORMAL)EndFunctionPrivateSubForm_Click()DimrAsLong,msgAsStringr=StartDoc("C:\WINDOWS\ARCADE.BMP")Ifr