0

我正在开发一个能够确定哪个应用程序使用互联网的应用程序。现在我的问题是我想在它成功建立连接之前知道进程名称,就像防火墙一样。

我正在使用Delphi2009。因此,该技术中的建议受到赞赏。

4

1 回答 1

1

查看Winsock 分层服务提供商以监控流量。我相信 LSP 是加载到每个进程中的 DLL,因此您应该能够在加载 DLL 时调用GetModuleFileName(NULL)来发现 EXE 名称。

上面链接的维基百科文章分享了我最担心的问题:

LSP 的一个主要常见问题是,如果它们被不正确地删除或取消注册,或者如果 LSP 有错误,则会导致注册表中 Winsock 目录损坏,整个 TCP/IP 堆栈将中断,计算机可以不再访问网络。

因此,如果您是 Windows 编程新手和/或在编写这些类型的过滤驱动器时没有采取适当的预防措施,那么请谨慎行事。否则,您的程序中的错误将很容易搞砸用户的机器。

于 2013-07-11T03:58:53.333 回答