我正在编写一个由运行.exe文件的第三方应用程序启动的应用程序。
有没有办法让我们的应用程序以其他应用程序为中心?
谢谢, 罗布。
编辑:我无法访问第三方应用程序,因此无法传递其位置或调整其位置。
答案 0 :(得分:2)
使用FindWindow查找第三方应用窗口,然后使用GetWindowRect获取3方应用窗口位置,然后您可以计算窗口位置应该在哪里。
答案 1 :(得分:2)
首先,您需要找到第三方应用程序的窗口。这可以通过多种方式完成,具体取决于该应用程序。您可以使用FindWindow进行P / Invke。如果应用程序标题总是相同或者它具有唯一的类名(可以使用Spy ++找到),这将起作用。
另一个稍微笨拙但更强大的方法是使用GetWindow / GetNextWindow遍历所有顶级窗口并逐个检查它们。
获得应用程序后,您可以调用GetWindowPos或GetWindowRect来查找它的位置。
答案 2 :(得分:1)
如果您希望应用程序以屏幕为中心,则可以设置 StartPostion 。
this.StartPosition = FormStartPosition.CenterScreen; in the form constructor.
查看msdn。
如果您希望您的应用程序成为调用它的其他applciation的中心,您可以将该应用程序的Loaction传递给您的应用程序,然后它可以通过指定其Location属性来重新调整它。
答案 3 :(得分:0)
您可以尝试将两个应用程序集中在一起。这样,第二个将以第一个为中心。
其他方法是使用命令arugments将第一个窗口的位置传递给第二个窗口, 所以第二个应用程序会知道一旦运行就把它放在哪里。