我创建了一个具有预定义协议的 SSH 代理(类似于 PuTTY 的 pageant.exe):身份验证请求通过包含文件映射名称的 WM_COPYDATA 发送到代理窗口:
// mapname is supplied via WM_COPYDATA
HANDLE filemap = OpenFileMapping(FILE_MAP_ALL_ACCESS, FALSE, mapname);
是否可以找出哪个进程(最终是进程名称)创建了特定的文件映射?
我可以在“filemap”上使用 GetSecurityInfo 来获取安全属性(SID、GID、...),但是如何获取进程本身呢?
重要说明:无法更改协议(例如,将有关发送者的信息添加到 WM_COPYDATA),因为这是所有类似 PuTTY 的应用程序使用的预定义协议!