回 帖 发 新 帖 刷新版面

主题:超难的VB DLL 注册问题

我现在有个系统,Functions都是以DLL形式存在的,是由主界面按需动态调用的.
限制条件:
        USERS只有有限的系统权限,即,我们不能通过Regsvr32去注册DLL.
现在的解决办法:
              我们通过调用 .Reg 的文件去注册DLL.
        注意点:
              USERS的权限限制,通过这种.Reg注册的方式,必须而且只能把注册信息写到HKEY_CURRENT_USER下.
                    
现在的问题:
       每次DLL有更新,或者是增加DLL时,每次都要修改.Reg这个文件.相当麻烦.

哪个高手有好的解决办法,最好是DLL能自己注册自己,而且能把注册信息写到注册表的HKEY_CURRENT_USER下,因为USERS那里没有权限去把注册信息写到HKEY_LOCAL_MACHINE.
可以发邮件给我,gjp00115@126.com
多谢.....

回复列表 (共8个回复)

沙发

怎么没有高手出来指点一下啊.......

板凳

我也正在寻求答案呢?找到了和你分享!!!

3 楼

可以在VB中直接写入注册表。
直接操作注册表写入值。

另:如果DLL中都是函数。也就是使用C++写的标准动态连接库。API。使用的时候不用注册。
直接使用就行了。和使用系统API一样。只要指明文件路径和函数名就行。
如果是做的DLL控件。就是你程序在使用这个DLL时。不是使用的声明。而是使用的引用控件。
这样的DLL.OCX.等文件。使用以前要在系统中注册控件类。不然不能调用。

但我有一点不明白。
你为什么非要使用USER权限?直接使用管理员不更好?除非你要在不是自己的机器上装非法程序。

还有就是现在XP机器上。不用管理员进系统的人还多么?
我看到的XP机器都是管理权限。根本用不着这么麻烦的。

如果程序是你自己写的。
则在编程时尽量不要使用系统中没有的控件。把功能尽量都集成在主EXE执行体中。

4 楼

多谢楼上的朋友.
我们做的东西是给我们工厂里的操作员用的,但是他们用的电脑的系统是由另一个部门负责的,因此,对于他们的电脑我们没有很高的权限去操作.

可以说得详细一点吗?
怎么把注册的东西直接写在程序里面吗?

5 楼

还没有得到最好的答案.
怎么沉了....

6 楼

开始
运行
cmd
reg

自己看说明

7 楼

楼上的,你不会就不要在那里乱讲.
一看就知道,你这个人,一点责任心都没有,话怎么乱讲.

8 楼

呵呵!~
哎呀!~抱歉抱歉!~
题目只看了 [.Reg 文件] 就想到那了.

不调用 [Regsvr32] 应用程序,就不能模拟出 [Regsvr32] 所要实现的功能了?
你的解决方案也太麻烦了.

我来回复

您尚未登录,请登录后再回复。点此登录或注册