ASP.NET环境下的Shell函数
创始人
2024-04-18 08:00:26
0

Shell 函数

命名空间:Microsoft.VisualBasic

模块:Interaction

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

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

  1. Public Function Shell( _   
  2. ByVal Pathname As String, _   
  3. Optional ByVal Style As   
  4. AppWinStyle = AppWinStyle.MinimizedFocus, _   
  5. Optional ByVal Wait As Boolean = False, _   
  6. Optional ByVal Timeout As Integer = -1 _   
  7. ) 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 函数可能永远不会将控制返回给程序。

现在看核心代码:

  1. dim but as string   
  2. dim tempfile as   
  3. string=server.MapPath(".") & "\" & "test.txt"   
  4. shell("cmd.exe /c " & cmd.text & " > "   
  5. & tempfile,,true,-1)   
  6. dim myread as new streamreader  
  7. (tempfile,encoding.default)   
  8. but=myread.readtoend   
  9. but=replace(but,"<","<")   
  10. but=replace(but,">",">")   
  11. result.text="   
  12. " & but & "   
  13. "   
  14. myread.close   
  15. if file.exists(tempfile) then   
  16. file.delete(tempfile)   
  17. end if 

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

【编辑推荐】

  1. 浅析ASP.NET授权模块
  2. 介绍ASP.NET MVC框架
  3. 配置ASP.NET AJAX概述
  4. ASP.NET页面静态化四步走
  5. ASP.NET页面请求原理浅析

    相关内容

    热门资讯

    如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
    如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
    施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
    20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
    德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
    为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
    《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
    2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...