您的位置:程序门 -> vb ->



请api大虾帮忙关于regconnectregistry 这个函数用法


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请api大虾帮忙关于regconnectregistry 这个函数用法
发表于:2007-09-07 09:02:32 楼主
每当程序运行到这句话     lret   =   regconnectregistry( "\\ "   &   text1.text,   hkey_local_machine,   hkey)   ,当我没权限打开它的注册表的时候程序就好像死了一样非常的慢,要过10秒才有反应,请大家告诉我怎么解决,小弟在这里先谢谢了!!
发表于:2007-09-07 10:04:271楼 得分:0
加   doevents
发表于:2007-09-07 10:33:312楼 得分:0
但程序运行到这句话     lret   =   regconnectregistry( "\\ "   &   text1.text,   hkey_local_machine,   hkey)   就不动了停在这句话上,好像也不起什么作用
发表于:2007-09-07 10:56:483楼 得分:0
这个应该是正常的吧
毕竟你是远程访问
若本地访问应该不会有这个问题
另外你的hkey应该是对应declare   function   regconnectregistry   lib   "advapi32.dll "   alias   "regconnectregistrya "   (byval   lpmachinename   as   string,   byval   hkey   as   long,   phkresult   as   long)   as   long
里面的最后一个参数吧
hkey_local_machine其实就是这个函数里面的hkey的值
发表于:2007-09-07 11:04:474楼 得分:0
那有什么办法解决吗?让它不会停在那里,如果远程访问可以打开的主机运行的很快,不会出现那样的问题。我公司是域管理模式,我在域服务器上运行程序的。
发表于:2007-09-07 15:55:275楼 得分:0
declare   function   regconnectregistry   lib   "advapi32.dll "   alias   "regconnectregistrya "   (byval   lpmachinename   as   string,   byval   hkey   as   long,   phkresult   as   long)   as   long
'访问远程系统的部分注册表
'返回值   long,零(error_success)表示成功。其他任何值都代表一个错误代码
'参数lpmachinename   --     string,欲连接的系统。采用“\\计算机名”的形式
'     hkey   -----------     long,hkey_local_machine   或   hkey_users
'     phkresult   ------     long,用于装载指定项句柄的一个变量
发表于:2007-09-09 00:44:126楼 得分:0
这恐怕有些麻烦.....

vb6里面没有多线程,你只能在当前线程里调用这个函数

那么一旦调用了它,当前线程(主线程)就在等待函数返回的状态中了,于是就挂起...

不管你加什么代码,应该都是会挂起的....

用c或asm写个dll,在dll里面以另一线程调用这个函数吧.....
发表于:2007-09-09 14:24:477楼 得分:0
你把这个lret   =   regconnectregistry( "\\ "   &   text1.text,   hkey_local_machine,   hkey)   放在activexexe里,activexexe选工程属性选“每个对象对应一个线程 "
发表于:2007-09-10 10:50:408楼 得分:0
非常谢谢给位的帮助,不过多线程有点难度。

发表于:2007-09-10 11:08:449楼 得分:0
好好看看阿勇兄的回复吧


快速检索

最新资讯
热门点击