在Delphi中获取OpenSSL DLL的版本和/或位置?

出于疑难解答的目的,我的应用程序可以在运行时检查是否有实用的方式:

> openssl dll(ssleay32.dll和libeay32.dll)是否真的存在并且能够被我的应用程序成功加载?
> openssl dll实际加载的路径是什么(所以我可以验证它是从应用程序目录中的副本加载它,还是从某个地方的系统路径中拾取一些杂散副本)
>什么版本的openssl是我的应用程序(或Indy)使用的? (如果我知道确切的路径,大多数版本的openssl dll都包含我可以通过查看Windows文件属性检查的版本信息)

解决方法

是.你问的顺序是这样的:

>对每个DLL使用LoadLibrary并检查返回值.
>如果#1成功,请使用GetModuleFileName检索已加载的DLL的完整路径名.
>如果#2成功,请使用GetFileVersionInfo查看DLL是否具有可用的文件版本信息.如果是,请使用VerQueryValue读取版本信息(通过查看Windows文件属性看到的相同信息).

它们都可以从Windows单元获得. Delphi中的所有三个示例都应该在StackOverflow中找到.如果您找不到它们,请在此处发布单独的问题(请参阅下文)以寻求帮助.

(这里的帖子应该包含一个问题,因此可以选择一个答案作为答案.如果你在同一篇文章中包含多个问题,那么几个人可以分别回答其中一个;在这种情况下,你如何选择哪个一个接受正确吗?)

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...