有没有办法在远程Windows机器上动态运行DLL?假设用户想要将自己的DLL文件发送到远程服务器并在远程站点运行该DLL中的函数。用户可能能够提供函数入口点以及所需的参数,但仅此而已。(例如没有头文件)我正在考虑在远程站点设置一个代理可执行文件,它可以(1)动态加载和绑定(bind)未知的DLL,以及(2)运行带参数的函数。这是一个好的方法,还是这样的可执行文件可能? 最佳答案 您可以使用动态加载DLL的技术。通常,您通过将.LIB静态链接到您的项目并编译它来使用DLL。要在运行时动态加载DLL,您可以使用以下WIN32API函数
我想手动安装MSAccess64位odbc驱动程序。由于我们公司使用的加载项,无法卸载32位Office并安装64位Office。我下载了AccessDatabaseEngine_x64.exe并使用WinRar和UniversalExtractor成功地将所有文件解压到一个临时目录中。我相信我拥有所有必要的文件,但有点不确定从这里去哪里,希望得到一些指导。需要注册哪些DLL才能使MSAccessODBC驱动程序在64位ODBC管理器中可用?是否有我需要创建的注册表项列表才能使其可用?有没有其他人以合理的方式处理这个问题?提前致谢! 最佳答案
是否有必要在目标机器上注册编译后的DLL(用C#.NET编写)。目标机器将安装.NET,是否只需将DLL拖放到目标机器上就足够了? 最佳答案 我认为您有点混淆了事情。从来不需要为了使用它而注册一个dll。使用dll只需要加载它(给定一个已知位置或者如果库在系统路径中)并获取您要使用的函数的地址。在分发需要将某些条目添加到Windows注册表的COM或ActiveX对象时,使用了注册dll。为了使用COM服务(例如),您需要引用一个GUID——即唯一标识符——它允许您获得实现该服务(或提供对它的访问)的dll的句柄。有时您可以引用完全
我有一个使用COMDLL的VB6应用程序。DLL是用C#编写的。在C#项目属性中,我选中了“RegisterforCOMinterop”选项。VB6应用程序在我的开发机器上运行良好。C#代码完全遵循以下格式:CodeProjectC#COMExample部署到其他机器时,Regsvr32.exe在我尝试注册DLL时出现以下错误:Themodule"MyCOM.dll"wasloadedbuttheentry-pointDLLRegisterServerwasnotfound.这是什么意思?我读过的关于COMDLL的任何教程/文档都没有提到“入口点DLLRegisterServer”。我
我正在尝试实现COM的DllRegisterServer方法。所以我读了这个教程:http://www.codeguru.com/cpp/com-tech/activex/tutorials/article.php/c5567/Step-by-Step-COM-Tutorial.htm然后我按照步骤进行,直到DllRegisterServer部分。这是他们的实现:HRESULT__stdcallDllRegisterServer(void){////AsperCOMguidelines,everyselfinstallableCOMinprocesscomponent//shoulde
我正在尝试运行this工具,以便将VisualC++项目转换为makefile。我尝试转换的项目是用VS2008编写的,因此我使用的是版本9中对Microsoft.VisualStudio.VCProjectEngine.dll的引用。这一行失败了:VCProjectEnginevcprojEngine=newVCProjectEngineObject();有以下异常(exception):RetrievingtheCOMclassfactoryforcomponentwithCLSID{D19A00C4-A7F9-4E14-A5E1-D060B7EB57F3}failedduetot
我正在尝试运行this工具,以便将VisualC++项目转换为makefile。我尝试转换的项目是用VS2008编写的,因此我使用的是版本9中对Microsoft.VisualStudio.VCProjectEngine.dll的引用。这一行失败了:VCProjectEnginevcprojEngine=newVCProjectEngineObject();有以下异常(exception):RetrievingtheCOMclassfactoryforcomponentwithCLSID{D19A00C4-A7F9-4E14-A5E1-D060B7EB57F3}failedduetot