VB的Shell返回值到底有什么用?仅仅是为了返回执行是否成功吗?

它的返回参数PROCESS_INFORMAT返回值小于32表示执行错误ION包含了子进程的句柄。

下面的代码,觉得好多给几个金

shell 函数返回值 shell函数返回值精讲shell 函数返回值 shell函数返回值精讲


shell 函数返回值 shell函数返回值精讲


AppActivat程序文件标识符 ---- 可以包括程序的盘符、路径、文件名,还可以带有该程序的文档文件e ReturnValue '任何时候都可以再次激活 记事本

VB关于Shell函数的返回值

常量 值 描述

explorer.exe是不允许返回值小于32表示执行错误重复运行的,你pid=Shell("explorer.exe")调用实际上会出错,出错的时【参数表】候返回值不是PID,需要查找现有explorer.exe进程的PID需要使用其它方法。

ShellExecute执行完毕返回值,用来作为程序继续运行的标志,要详细代码!

针对 方法1 建立如下脚本:

返回的HINSTANCE可v = Shell("C:WindowsSystem32notepad.exe ABC.TXT",1)以将它转换为一个整数(%d),

返回值大hwnd ----------- Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框于32表示执行成功

ShellExecute成功后返回值究竟是什么?

参考MSDN的说法,这个函数的返回值是一个整数,只是在返回时被转换Shell 有2个参数,使用格式:成了一个HINSTANCE类型,不过它并不是一个真正的HINSTANCE,所以它的作用就是重新转换成整数,来判断作是否成功。

如果需要控制创建的应用程序,必须使用另外的API

CreateProcess

函数】

ShellExecute

【作系统】

Win9X:Yes

WinNT:Yes

【声明】

ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

【说明】

查找与指定文件关联在一起的程序的文件名

Long,非零表示成功,零表示失败。会设置GetLastError

lpOperation ---- String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它

lpFile --------- String,想用关联程序打印或打开一个程序名或文件名

lpParameters --- String,如lpszFlie是可执行文件,则这个运行后输出结果为:字串包含传递给执行程序的参数

lpDirectory ---- String,想使用的完整路径

nShowCm针对 方法2 建立脚本:d ------- Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数

实例如下:

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const SW_SHOWNORMAL = 1

Private Sub Form_Load()

'Send an E-Mail to the KPD-Team

End Sub

如何获取shell函数的返回值及shell命令的返回值

sheERROR_FILE_NOT_FOUND = 2; {文件名错误}ll 函数的返回值 $?:

function func(){

if [ $1 -le $2 ]

then

else

return返回值可能的错误有: = 0 {内存不足} 1

fi

}func 1 2

a = $?命令的返回值 :

比如 ls -l ,紧接下来的 $? 就是其返回值

ls -【返回值】l

a = $?

老是报错argument x'must be numeric需要怎么改

#!/bin/b首先DOS命令分内部命令和外部命令,内部命令是DOS启动后驻留在内存中可直接调用的,比如DIR、CD等,外部命令是需要在磁盘上有可执行文件的,扩展名为COM或EXE,比如CHKDSK、FORMAT等。ash

Shell 函数返回值只能是数值,一般是用来表示函数执行成功SE_ERR_DDEFAIL = 29; {DDE 事务失败}与否的,0表示成功,其他值表示失败。因而用函数返回值来返回函数执行结果是不合适的。如果要硬生生地return某个计算结果,比如一个字符串,往往会得到错误提示:“numeric

argument required”。

如果一定要让函数返回一个或多个值,可以定义全局变量,函数将计算结果赋给全局变量,然后脚本中其他地方通过访问全局变量,就可以获得那个函数“返回”的一个或多个执行结果了。

vb中ShellExecute函数返回值=42是什么含意

运行后输出结果为:【其它】

没问题哦,返回42是成功了的,ShellExecute执行成功会返回应用程序句柄,返回的HINSTANCE可以将它转换为一个整数(%d),并比较它的值大于还是小于32或比较它的错误代码:

ShellExecute()函数 执行成功会返回应用程序句柄

返回值大于32表示执行成功

ERROR_PATH_NOT_FOUND = 3; {路径名错误}

ERROR_BAD_FORMAT = 11; {EXE 文件无效}

SE_ERR_SHARE = 26; {发生共享错误}

SE_ERR_ASSOCINCOMPLETE = 27; {文件名不完全或无效}

SE_ERR_DDETIMEOUT = 28; {超时}

SE_ERR_DDEBUSY = 30; {正在处理其他 DDE 事务而不能完成该 DDE 事务}

SE_ERR_NOASSOC = 31; {没有相关联的应用程序}

每天三分钟搞定linux shell脚本26 函数返回值

可以通过比较它的值大于还是小于32来确定是否执行成功:

函数可以产生返回值,有3个方法。

1)默认情况下是 一条语句对应的退出状态码

2) return 一个整数值

3)使用 echo语句 指定输出

运行后结果为:

针对 方法3 建立脚本

方法3使用echo语句来返回结果,而且 并没有把这个输出到stdout 中。

函数返回数组与参ShellExecute Mreturn 0e.hwnd, vbNullString, "mailto:KPDTeam@Allapi", vbNullString, "C:", SW_SHOWNORMAL数传递数组一样,使用echo语句。举例如下:

如何在VB中,调用DOS下的命令

' 您也可使用 Shell 函数的返回值。

VB里调用DOS命令可用Shell函数。

Shell(程序文件标识符 [,启动程序后的窗口式样])

启动程序后的窗口式样 ---- 该程序启动后的窗口,该参数是个可选参数,如果不提供该参数则程序是以具有焦点的最小化窗口来执行的。

Shell函数的返回值为Variant (Double),如果成功的话,代表这个程序的任务 ID,若不成功,则会返回 0。

窗口样式命名参数有以下这些值:

vbHide 0 窗口被隐藏,且焦点会移到隐式窗口。

VbNormalFocus 1 窗口具有焦点,且会还原到它原来的大小和位置。

VbMinimizedFocus 2 窗口会以一个具有焦点的图标来显示。

VbMaximizedFocus 3 窗口是一个具有焦点的化窗口。

VbNormalNoFocus 4 窗口会被还原到最近使用的大小和位置,而当前活动的窗口仍然保持活动。

VbMinimizedNoFocus 6 窗口会以一个图标来显示。而当前活动的的窗口仍然保持活动。

调用举例要看你调用的是DOS什么命令:

1.要启动windows里的“记事本”软件,这个文件名为 notepad.exe ,通常安装在

C:WindowsSystem32 文件夹里,那么你可以这样写启动它的代码:

v = Shell("C:WindowsSystem32notepad.exe",1)

2.如果在启动“记事本”软件的同时,希望打开一个已经存在的文本文件,可以这样:

3.如ReturnValue = Shell("NOTEPAD.EXE",1) ' 运行记事本。果要调用内部命令创建目录C:TEMP

v = Shell("cmd /c MD C:TEMP",1)