[ASP,VB] - 利用ASP调用API COM接口实现开关机

来源:http://www.111cn.net/asp/3/35f5b04c0c9f40c9f03a1b56d641ac3f.htm

服务器脚本要控制些开关机命令模式的知都要调用win api接口来实现了,下面我们来看一个asp调用com实例开关机功能吧。

ASP通过这个组件调用系统API,然后按照不同的重启和关机方式进行操作!

下面先说COM的制作,在VB中新建一工程,当然是AceiveX dll的!

1)先修改工程属性,在工程属性窗口将工程名称改为system,在类模块窗口将模块名称改为contral,保存工程;

2)然后添加一个模块,用来声明需要使用的API和常数!下面是模块中的内容!

Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

3)在类模块中输入下列代码:

Public Function reboot(atype As Variant)

t& = ExitWindowsEx(1, atype)

End Function

该函数需要传入一个参数,用来控制启动方式,这个参数是从ASP程序中传入的,等一下就可以看到具体的使用方法!

编写完上面的代码,保存工程,将工程编译为system.dll。下面就写ASP程序!

ASP中的代码非常简单:

<%

atype=request("atype")

set sys=server.CreateObject ("system.contral")

sys.reboot(atype)

%>

*******************************************

作者漏了:必须先注册dll文件(在cmd里输入)

注册命令:regsvr32 c:\system.dll

卸载命令:regsvr32 /u c:\system.dll

没有注册DLL会报错,在set sys=server.CreateObject ("system.contral")里

*******************************************

其中atype可以使用0、1、2、4,0、1和4均为关机,2用来重启。写完后执行ASP就可以了!