温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ASP.NET中如何使用Shell函数

发布时间:2021-07-15 15:01:37 来源:亿速云 阅读:135 作者:Leah 栏目:编程语言

本篇文章给大家分享的是有关ASP.NET中如何使用Shell函数,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

Shell 函数

命名空间:Microsoft.VisualBasic

模块:Interaction

程序集:Microsoft Visual Basic .NET 运行库(位于 Microsoft.VisualBasic.dll 中)

ASP.NET环境下运行一个可执行程序,并且如果该程序仍然在运行,则返回一个包含该程序的进程 ID 的整数。

Public Function Shell( _   ByVal Pathname As String, _   Optional ByVal Style As   AppWinStyle = AppWinStyle.MinimizedFocus, _   Optional ByVal Wait As Boolean = False, _   Optional ByVal Timeout As Integer = -1 _   ) As Integer

参数

Pathname

必选项。字符串。要执行的程序名以及任何需要的参数和命令行开关。Pathname 还可以包括驱动器和目录路径或文件夹。

Style

可选项。AppWinStyle。从 AppWinStyle 枚举中选择的值,该枚举与要在其中运行程序的窗口样式相对应。如果省略 Style,则Shell函数 使用 AppWinStyle.MinimizedFocus,这将使程序以最小化启动并具有焦点。

Style 参数可以有以下设置之一:

枚举值 说明

AppWinStyle.Hide 隐藏窗口并为隐藏的窗口提供焦点。

AppWinStyle.NormalFocus 为窗口提供焦点,并以最近的大小和位置显示窗口。

AppWinStyle.MinimizedFocus 为窗口提供焦点,并以图标的形式显示窗口。

AppWinStyle.MaximizedFocus 为窗口提供焦点,并以全屏方式显示窗口。

AppWinStyle.NormalNoFocus 将窗口设置为最近的大小和位置。当前活动窗口保持焦点。

AppWinStyle.MinimizedNoFocus 以图标的形式显示窗口。当前活动窗口保持焦点。

Wait

可选项。Boolean。指示 Shell 函数是否应等待程序完成的值。如果省略 Wait,则 Shell 使用 False。

Timeout

可选项。Integer。Wait 为 True 时等待完成的毫秒数。如果省略 Timeout,则 Shell 使用 -1,表示没有超时,Shell 直到程序完成时才返回。因此,如果省略 Timeout 或将它设置为 -1,则 Shell 函数可能永远不会将控制返回给程序。

现在看核心代码:

dim but as string   dim tempfile as   string=server.MapPath(".") & "\" & "test.txt"   shell("cmd.exe /c " & cmd.text & " > "   & tempfile,,true,-1)   dim myread as new streamreader  (tempfile,encoding.default)   but=myread.readtoend   but=replace(but,"<","<")   but=replace(but,">",">")   result.text="   " & but & "   "   myread.close   if file.exists(tempfile) then   file.delete(tempfile)   end if

关键是shell函数("cmd.exe /c " & cmd.text & " > " & tempfile,,true,20000),这句话就是调用cmd.exe并且等待程序执行完毕。注意:要是你运行的命令需要等待(如date),那就惨了。那就暂时删不掉临时文件test.txt……而且不能再执行命令了……不知道高手能不能解决这个问题。

    以上就是ASP.NET中如何使用Shell函数,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI