【发布时间】:2015-05-08 20:18:13
【问题描述】:
我的 C# 应用程序在 64 位机器上运行时混合使用 32 位和 64 位 DLL。我的主 UI 必须是 64 位,子对话框必须是 32 位。为了解决这个问题,我从 64 位版本启动了 32 位版本的应用程序并等待它退出。我使用匿名管道将子对话的结果返回到 64 位进程。我将父窗口句柄传递给子进程,因此来自 32 位进程的子对话框将模态到父进程中的主对话框。这很好用,但问题是当子进程关闭 64 位进程中的父对话框时收到 WM_CLOSE 消息并且应用程序存在。如何在将 32 位进程模式中的子对话框设置为 64 位进程中的父对话框的同时防止这种情况发生?
如果我不传递父对话框窗口句柄,应用程序不会关闭。
【问题讨论】: