如何从IronPython使用win32api

时间:2020-03-06 14:40:14  来源:igfitidea点击:

我用IronPython编写一些测试脚本,我想验证是否显示一个窗口。我具有主应用程序进程的pid,并且想要获取与pid相关的窗口标题的列表。

我试图避免使用诸如FindWindowEx之类的win32api调用,因为(据我所知)我们不能直接从IronPython访问win32api。有没有办法使用内置的.net类来做到这一点?我遇到的大多数东西都建议使用win32api,如下所示。

.NET(C#):只有进程句柄或者PID时才获得子窗口?

更新:我找到了一种解决方法,可以解决我的问题。请在下面回答。

解决方案

这就像问我们是否可以不去水里游泳一样。如果我们需要Windows的信息,则唯一的选择是使用win32api。有很多例子可以找到如何做到这一点。

如果我们不喜欢此答案,请在问题中留下评论,我将删除此答案,因此问题将保留在未回答的问题列表中。

下面的文章显示了如何从IronPython间接访问win32api。它使用CSharpCodeProvider CompileAssemblyFromSource方法从提供的Csource代码字符串在内存中编译程序集。然后,IronPython可以导入程序集。

从IronPython动态编译C