我正在开发一个能够确定哪个应用程序使用互联网的应用程序。现在我的问题是我想在它成功建立连接之前知道进程名称,就像防火墙一样。
我正在使用Delphi2009。因此,该技术中的建议受到赞赏。
我正在开发一个能够确定哪个应用程序使用互联网的应用程序。现在我的问题是我想在它成功建立连接之前知道进程名称,就像防火墙一样。
我正在使用Delphi2009。因此,该技术中的建议受到赞赏。
查看Winsock 分层服务提供商以监控流量。我相信 LSP 是加载到每个进程中的 DLL,因此您应该能够在加载 DLL 时调用GetModuleFileName(NULL)来发现 EXE 名称。
上面链接的维基百科文章分享了我最担心的问题:
LSP 的一个主要常见问题是,如果它们被不正确地删除或取消注册,或者如果 LSP 有错误,则会导致注册表中 Winsock 目录损坏,整个 TCP/IP 堆栈将中断,计算机可以不再访问网络。
因此,如果您是 Windows 编程新手和/或在编写这些类型的过滤驱动器时没有采取适当的预防措施,那么请谨慎行事。否则,您的程序中的错误将很容易搞砸用户的机器。