标签: dll

从内存中的某个位置加载DLL

正如问题所说,我想从内存中的位置而不是文件加载DLL,类似于LoadLibrary(Ex).我不是WinAPI的专家,所以google了一下,发现这篇文章与MemoryModule库一起完全满足我的需求.

另一方面,信息很旧,图书馆也没有更新一段时间.所以我想知道是否有不同的,更新的和更好的方法来做到这一点.此外,如果有人使用了文章中提到的库,他们是否可以提供有关使用它时可能遇到的问题的见解?

对于好奇的,我正在探索加密应用程序的一些插件的概念,而不将解密的版本存储在磁盘上.

c c++ dll winapi

10
推荐指数
2
解决办法
1万
查看次数

如何从VBScript调用C#DLL函数

我的服务器上有我的脚本,因此我没有可用的UI交互,必须使用DLL而不是控制台应用程序.

如何从VBScript中调用C#DLL中的函数?

如何制作我的DLL COMVisible?我需要注册吗?

c# dll vbscript function-calls

10
推荐指数
1
解决办法
2万
查看次数

右键单击DLL中的版本资源不可见

我正在尝试做一些在常规MSVC中很容易做的事情,但在VC++ Express中不容易支持.

VC++ Express中没有资源编辑器.所以我在我的DLL项目中添加了一个名为version.rc的文件.该文件具有以下内容,该内容由资源编译器编译并添加到最终的DLL中.使用reshacker可以在DLL中查看此资源,但在Windows资源管理器中右键单击DLL时则不行.

我的RC文件中缺少什么来使其在右键单击时显示?

VS_VERSION_INFO VERSIONINFO
 FILEVERSION 1,0,0,1
 PRODUCTVERSION 1,0,0,1
 FILEFLAGSMASK 0x17L
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS 0x4L
 FILETYPE 0x1L
 FILESUBTYPE 0x0L
BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904b0"
        BEGIN
            VALUE "FileDescription", "something Application"
            VALUE "FileVersion", "1, 0, 0, 1"
            VALUE "InternalName", "something"
            VALUE "LegalCopyright", "Copyright (C) 2008 Somebody"
            VALUE "OriginalFilename", "something.exe"
            VALUE "ProductName", "something Application"
            VALUE "ProductVersion", "1, 0, 0, 1"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1200
    END
END
Run Code Online (Sandbox Code Playgroud)

c++ dll resources visual-c++-2008-express visual-studio-2008

10
推荐指数
2
解决办法
6922
查看次数

从.NET DLL - app.config问题中使用webservice

我正在构建一个DLL,我们称之为mydll.dll,在其中我有时需要从webservice,myservice调用方法.mydll.dll是使用C#和.NET 3.5构建的.

为了消耗为MyServiceMYDLL我添加了一个服务在Visual Studio 2008中,这或多或少与使用svcutil.exe的.这样做会创建一个我可以创建的类,并将端点和绑定配置添加到mydll app.config.

这里的问题是从未加载mydll app.config.相反,加载的是我使用mydll的程序的app.config或web.config .

我希望mydll能够进化,这就是为什么我将它的功能从我的系统的其他部分开始解耦.在这个演变过程中,它可能会增加更多的Web服务,它会调用手动复制粘贴方法来克服这个问题.

我已经研究了几种可能的攻击方法:

  1. 手动将端点和绑定从mydell app.config 复制到目标EXE或web .config文件.
    耦合模块,不灵活
  2. 使用configSource(请参阅此处),在目标.config中包含来自mydll app.config的端点和绑定. 还要在模块之间添加耦合
  3. 以编程方式加载mydll app.config,读取端点和绑定,并实例化Binding和EndpointAddress.
  4. 使用其他工具为myservice创建本地前端

我不知道该走哪条路.选项3听起来很有希望,但事实证明这是很多工作,可能会引入一些错误,所以它无疑是值得的.我也不熟悉规范svcutil.exe以外的任何工具.

请为上述替代方案提供优缺点,提供实施其中任何方案的提示,或建议其他方法.

谢谢,
阿萨夫

.net dll web-services app-config svcutil.exe

10
推荐指数
1
解决办法
9580
查看次数

在哪里可以找到Windows上可用的默认dll文件列表(XP,Vista,7,...)?

是否有一些.dll文件列表可以在各种新安装的 Windows平台上使用(或者至少是最近的,如Win XP和Win 7)?我正在寻找一个类似于Windows 2000的列表 .

(我正在使用py2exe编译一个python应用程序,并且应用程序报告了使用已编译的应用程序进行潜在分发所需的dll,但遗憾的是它并没有告诉我默认情况下安装了哪些dll)

windows dll

10
推荐指数
1
解决办法
7506
查看次数

我应该签署我的DLL吗?

我有一个C++ Windows应用程序.我签署了我们的安装程序和我的可执行文件,但我目前没有签署我的DLL(例如zlib1.dll).签署这些并不是什么大不了的事,但有人可以解释一下这样做的好处吗?例如,如果所有依赖项都已签名,我的程序是否会与AV或防火墙软件有任何不同?用户会得到任何不同的警告吗?

dll code-signing authenticode

10
推荐指数
1
解决办法
4401
查看次数

从DLL导出STL std :: basic_string模板时,出现LNK2005错误

好的,所以我已经阅读了几个关于这个主题的问题和文章,我觉得我理解基础知识,但我仍然遇到麻烦.

我有一个DLL导出一个具有std :: string作为成员的类.我的主程序包含也有字符串的类,它使用DLL.

如果我在VS2010中编译DLL,我会收到以下警告:

warning C4251: 'MyClass::data' : class 'std::basic_string<_Elem,_Traits,_Ax>' needs to have dll-interface to be used by clients of class 'MyClass'
Run Code Online (Sandbox Code Playgroud)

当我编译EXE时,我得到相同的警告,但没有错误,程序编译并运行.实际上,这是一个大项目,所以我得到了40个警告,我不太热衷于此.(作为侧面观察,使用VS2008编译时不会出现这些警告)

所以,我读到了这个警告,它引导我阅读这篇MS文章:http: //support.microsoft.com/default.aspx? scid = KB; EN-US; 168958,它告诉我如何从一个STL模板导出DLL来满足我得到的警告.

问题是,当我添加以下行以删除警告时:

EXPIMP_TEMPLATE template class DECLSPECIFIER std::allocator<char>;
EXPIMP_TEMPLATE template class DECLSPECIFIER std::basic_string< char, std::char_traits<char>, std::allocator<char> >;
Run Code Online (Sandbox Code Playgroud)

DLL编译没有警告,但是当我编译我的EXE时,链接器会抛出一个拟合:

2>SampleDLL.lib(SampleDLL.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in OtherClass.obj
2>SampleDLL.lib(SampleDLL.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::size(void)const " …
Run Code Online (Sandbox Code Playgroud)

c++ dll stl visual-studio-2010

10
推荐指数
1
解决办法
1万
查看次数

资源文件是编译为UNICODE还是ANSI代码页?

首先 - 如果已经回答了一百次,我很抱歉!D'哦!

但我的搜索显然很糟糕,因为我没有运气回答这个基本问题:

资源如何存储在EXE/DLL中?作为UNICODE(UCS-2,Windows本机内部字符格式),还是使用资源块代码页的多字节字符?

  • 如何将UNICODE字符串嵌入到一个资源(.rc)中?
  • 可以将UNICODE(UCS-2)文本插入到VS 2012中的语言字符串中吗?
  • Windows仍在使用UCS-2,还是内部使用UTF16?

我只是寻找一般答案或链接到详细信息,而不是将UNICODE字符串放入.rc字符串表的详细方法.谢谢!

c++ dll resources winapi rc

10
推荐指数
1
解决办法
5129
查看次数

Cython VS C++性能比较?

我正在尝试使用Cython来编写我的项目.

我的计划是用C++编写.dll,然后通过Cython从Python调用它们.所以我可以拥有C++的高计算性能,同时保持Python开发的简单性.

随着我走得更远,我有点困惑.据我所知,Cython将python代码包装成C.由于C具有更好的计算性能,因此性能得到了提高.我对此是否正确?

如果我在上面,那么是否有必要在C++中编写.dll并从Python调用它以提高性能?

如果我编写python代码并将其包装到C中,然后从Python调用它,它是否比调用用C++编写的.dll更好?

c c++ python dll cython

10
推荐指数
1
解决办法
1万
查看次数

"无法加载文件或程序集'PresentationUI.Aero2'或其依赖项之一." 为什么不?

在我的WPF应用程序中,我在启动时遇到以下异常:

A first chance exception of type 'System.IO.FileNotFoundException' occurred in mscorlib.dll

Additional information: Could not load file or assembly 
'PresentationUI.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 
or one of its dependencies. 
Run Code Online (Sandbox Code Playgroud)

编辑:使用融合日志,我得到比调用堆栈更有价值的信息:

LOG: DisplayName = PresentationUI.Aero2, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase = file:///[...]/bin/Debug/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = EngideskLauncher.vshost.exe
Calling assembly : PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
===
LOG: This bind starts in default load context.
LOG: Using application configuration …
Run Code Online (Sandbox Code Playgroud)

c# wpf dll

10
推荐指数
2
解决办法
3394
查看次数