我正在开发一个能够确定使用互联网的应用程序的应用程序。现在我的问题是我想在成功建立连接之前知道进程名称,就像防火墙一样。
我正在使用Delphi2009。所以该技术的建议值得赞赏。
答案 0 :(得分:1)
查看Winsock Layered Service Providers以监控流量。我相信LSP是加载到每个进程的DLL,所以你应该能够在加载DLL时调用GetModuleFileName(NULL)来发现EXE名称。
上面链接的维基百科文章分享了我最强烈关注的问题:
LSP的一个主要常见问题是如果要删除它们 或未注册不正确或如果LSP有错误,它将导致 注册表中的Winsock目录的损坏,以及整个 TCP / IP堆栈将中断,计算机无法再访问 网络
因此,如果您不熟悉Windows编程和/或在编写这些类型的过滤器驱动器时没有采取适当的预防措施,请谨慎操作。否则,程序中的错误很容易搞砸用户的机器。