首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将嵌入的窗口作为父窗口返回到windows

如何将嵌入的窗口作为父窗口返回到windows
EN

Stack Overflow用户
提问于 2014-04-22 09:56:51
回答 1查看 1.9K关注 0票数 1

我正在使用ShellExecute启动Adobe。之后,我将窗口重定向到一个带有WinApi.Windows.SetParent的面板。现在当我关闭我的应用程序时,Adobe仍然活跃在内存中,我必须在任务管理器中结束这个过程,然后才能打开一个新的会话。

我的问题是:如何在我的应用程序中访问Adobe?我该怎么跟它说话?(发送类似close和minimilize之类的消息)以及如何将其作为父级返回到windows?在德尔菲XE5中的所有这些

编辑:

这是我用来设置新父级的代码:

代码语言:javascript
复制
ShellExecute(Handle, nil, PChar('C:\Tool\Temp.pdf'), nil,  nil, SW_SHOWNORMAL);
Sleep(500);
wHandle := FindWindow(NIL,'Temp.pdf - Adobe Reader');
WinApi.Windows.SetParent(wHandle, Panel1.Handle);
EN

回答 1

Stack Overflow用户

发布于 2014-04-22 13:03:37

以下是我自己问题的答案:

  • 我将句柄保存到wHandle变量。因为这是全局变量,所以我可以在代码中的任何地方访问它。例如,我表单中的OnClose事件
  • 要“交谈”到Abobe,我必须使用SendMessage方法并传递所需的参数。我可以使用wHandle指向Adobe。Adobe的父版本实际上没有问题。
  • 当我想将Adobe作为父函数返回到Windows时,我只需将SetParent的SetParent参数从Panel1.Handle更改为0。

我通过阅读问题的评论得到了答案。他们都指向了我正确的方向。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23216213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档