我想知道以编程方式运行regsvr32的win32 API。
我有一个应用程序可以通过它与COM端口设备进行通信。但要实现通信,我必须使用regsvr32.exe注册MSCOMM32.ocx,但现在我想在我的代码中添加此规定。所以不需要手动运行regsvr。
答案 0 :(得分:2)
您正在寻找Windows CreateProcess API调用:http://msdn.microsoft.com/en-us/library/ms682425(v=vs.85).aspx
答案 1 :(得分:1)
您可以使用win32 api调用的组合来执行此操作:
这里解释了DllRegisterServer函数:MSDN: DllRegisterServer Entry Point
答案 2 :(得分:1)
您已经获得问题标题的answer。
至于注册DLL,我认为你使用的是VB6,你不能(轻松)register it directly。
注册它的正确方法是将其作为安装程序的一部分 在应用程序中执行此操作为时已晚,因为您(很可能)通常不会拥有注册所需的管理员权限。
要让用户以管理员身份运行它,您可以使用ShellExecute()并将“runas”作为带有“regsvr32.exe”的动词和mscomm32.ocx的路径作为文件和参数传递。<登记/> 对于VB6:
ShellExecute 0, "runas", "regsvr32.exe", """c:\blah.dll""", "c:\", 0