获取当前在另一个程序/窗口中打开的文档的文件名/path

我正在开发一个作为Windows Accessibility / UI自动化API客户端的程序,从其他程序中获取可访问性数据(很像屏幕阅读器)。 我正在寻找一种方法来获取当前“文档”(或其他文件)在程序中打开的完整path。 所以,例如,Word可能会给我当前的.docx文件的path,将path绘制到当前的图像文件,WMP的audio或video文件的path…你明白了。 有没有办法做到这一点?

在Mac上,我会使用NSAccessibilityDocumentAttribute ,但Windows似乎没有等效的辅助function属性。 我看了几个其他问题:

  • 在任何Windows应用程序中获取打开的文档的path和文件名 (2009年的最后一个答案,可能没有意识到可访问性API,没有答案提供可靠的准确数据)
  • 如何获得在记事本中打开文件的文件名和path? – 五岁,具体到一个程序,只有给出的答案是不完整的。

所以…是否有任何相当于NSAccessibilityDocumentAttribute ,如果没有,是否有一个合理的方式来重新实现它(可能做可访问性树/ API之外的东西)? 这是更重要的是,这个返回正确的信息(即永远不会给我一个在相关的程序/窗口中打开的文件)比普遍可用。

我正在使用C#(通过System.Windows.Automation的可访问性),但可以使用其他语言,如果需要,只要他们将在Windows 10上运行(下层支持好,但不是强制性的)。