我正在使用 inno setup 制作安装文件。它需要提取本地 IP 地址(我可以通过查询 Win32_NetworkAdapterConfiguration 来完成)并检查是否打开了特定端口以供软件运行(我目前正在寻找答案)。
我意识到 WMI Win32 类包含很多有用的信息。所以我想知道如果有可能的话,我应该使用哪个 Win32 类来检查这个端口?
谢谢,
我正在使用 inno setup 制作安装文件。它需要提取本地 IP 地址(我可以通过查询 Win32_NetworkAdapterConfiguration 来完成)并检查是否打开了特定端口以供软件运行(我目前正在寻找答案)。
我意识到 WMI Win32 类包含很多有用的信息。所以我想知道如果有可能的话,我应该使用哪个 Win32 类来检查这个端口?
谢谢,
AFAIK 检查给定端口是否打开的唯一 WMI 类是NetDiagnostics
WMI 类和ConnectToPort
方法,但此类仅存在于 Windows XP 中。因此,如果您想要一个适用于其他 Windows 版本的选项,您可以尝试导入(或编写您自己的应用程序并从 inno 调用)类似 Winsockconnect
函数的东西,就像在这个问题上显示的那样How to check if a TCP port is available with Delphi?
只需尝试将套接字绑定到它。如果成功,则可用。