如何从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