使用 Delphi 最小化外部应用程序
有没有办法最小化我在 Delphi 应用程序中无法控制的外部应用程序?
例如 notepad.exe,但我想要最小化的应用程序将只有一个实例。
Is there a way to Minimize an external application that I don't have control over from with-in my Delphi application?
for example notepad.exe, except the application I want to minimize will only ever have one instance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以使用FindWindow查找应用程序句柄,并使用ShowWindow将其最小化。
You can use FindWindow to find the application handle and ShowWindow to minimize it.
我不是 Delphi 专家,但是如果您可以调用 win32 api,则可以使用 FindWindow 和 ShowWindow 来最小化窗口,即使它不属于您的应用程序。
I'm not a Delphi expert, but if you can invoke win32 apis, you can use FindWindow and ShowWindow to minimize a window, even if it does not belong to your app.
谢谢你,最后我使用了 Neftali's 的修改版本代码,我将其包含在下面,以防其他人将来遇到相同的问题。
总是返回0,所以在寻找为什么我发现这个函数 可以找到 hwnd,这很不错。
Thanks for this, in the end i used a modifyed version of Neftali's code, I have included it below in case any one else has the same issues in the future.
was always returning 0, so while looking for a reason why I found this function that would find the hwnd, and that worked a treat.
我想 FindWindow(PChar('notepad'), nil) 应该是 FindWindow(nil, PChar('notepad')) 来按标题查找窗口。
I guess FindWindow(PChar('notepad'), nil) should be FindWindow(nil, PChar('notepad')) to find the window by title.