用VB写控件dll的问题

xtjack 2004-04-22 03:28:30
我用VB写了一个activex dll控件,在asp中调用,主要用途是取得本机的硬盘序列号,源程序如下:
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Public Function getHDID() As String
Err.Clear
On Error GoTo doError

Dim len5 As Long, aa As Long
Dim cmprName As String
Dim Computer As String
Dim CPUs As Object, MyCpu As Object
Dim SerialNo As String

'取得Computer Name
cmprName = String(255, 0)
len5 = 256
aa = GetComputerName(cmprName, len5)
cmprName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1)
Computer = cmprName '取得CPU端口号
Set CPUs = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_DiskDrive")
For Each MyCpu In CPUs
SerialNo = MyCpu.Model
Exit For
Next
getHDID = SerialNo
Set CPUs = Nothing
Set MyCpu = Nothing
Exit Function
doError:
getHDID = "[" & Err.Description & "]"
End Function

编译以后,在VB里面调用可以得到硬盘序列号,但是在asp里面调用出现automation 错误,请问为什么呢?
...全文
41 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ryuginka 2004-04-23
  • 打赏
  • 举报
回复
VB的DLL不是很好,建议用VC或者DELPHI写DLL.

仅仅是建议
xtjack 2004-04-23
  • 打赏
  • 举报
回复
asp很简单
<%
set h=Server.createobject("xxx.xx");
Response.Write h.getHDID
set h=nothing
%>
vlsm 2004-04-23
  • 打赏
  • 举报
回复
UP
liangfang 2004-04-22
  • 打赏
  • 举报
回复
贴你的ASP源码出来看看 有没有写错

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧