我用IronPython编写一些测试脚本,我想验证是否显示一个窗口.我具有主应用程序进程的pid,并且想要获取与pid相关的窗口标题的列表.
我试图避免使用诸如FindWindowEx之类的win32api调用,因为(据我所知)您不能直接从IronPython访问win32api.有没有办法使用内置的.net类来做到这一点?我遇到的大多数东西都建议使用win32api,如下所示.
.NET (C#): Getting child windows when you only have a process handle or PID?
更新:我找到了一种解决方法,可以解决我的问题.请在下面回答.
解决方法:
下面的文章显示了如何从IronPython间接访问win32api.它使用CSharpCodeProvider CompileAssemblyFromSource方法从提供的C#源代码字符串在内存中编译程序集. IronPython然后可以导入程序集.
Dynamically compiling C# from IronPython