企业微信电脑版杯嵌入我的窗口后,企业微信审批界面空白没有数据

蓝之羽520 2020-03-09 02:00:04
企业微信审批界面应该是用的谷歌内核

下面是单独打开企业微信,审批界面:


下面是被嵌入后,审批界面,完全空白:


刚刚建了两个工程,一个mfc【在静态库中使用 MFC】,一个是SOUI用【使用标准 Windows 库】,两个工程各有两个按钮,分别是嵌入与释放,对应的代码完全相同:

嵌入:

m_hWndWX = ::FindWindow(L"WeWorkWindow", NULL);
DWORD style = ::GetWindowLong(m_hWndWX, GWL_STYLE);
style = style & ~(WS_POPUP); //
style = style | WS_CHILD; //
::SetWindowLong(m_hWndWX, GWL_STYLE, style);
HWND hNss = ::SetParent(m_hWndWX, m_hWnd);


释放:

DWORD style = ::GetWindowLong(m_hWndWX, GWL_STYLE);
style = style & ~(WS_CHILD); //
style = style | WS_POPUP; //
::SetWindowLong(m_hWndWX, GWL_STYLE, style);
HWND hNss = ::SetParent(m_hWndWX, NULL);


企业微信被嵌入用【使用标准 Windows 库】的工程,然后释放,审批界面始终空白;
然后把上面的企业微信嵌入MFC的那个工程,再释放,企业微信就正常了,审批界面成功加载数据

好像是嵌入SOUI窗口后,影响了企业微信启动外部exe的功能

...全文
4333 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝之羽520 2020-03-09
  • 打赏
  • 举报
回复
我在配置工程属性的时候,用【在静态库中使用 MFC】就没问题,用【使用标准 Windows 库】就会出现上面我说的情况,有哪位大佬帮忙分析下?
蓝之羽520 2020-03-09
  • 打赏
  • 举报
回复
嵌入之前,spy工具还可以看到审批界面的类名为“Chrome_RenderWidgetHostHWND”,嵌入之后,切换几次后,类名始终是企业微信的类名
蓝之羽520 2020-03-09
  • 打赏
  • 举报
回复
各种操作调试后,发现打开审批界面后,会有个新的进程WXWorkWeb.exe创建,但设置成子窗口后,打开审批界面就不会创新新的WXWorkWeb.exe进程。

我估计是WXWorkWeb.exe与企业微信主进程之间有进程间通信,但为什么设置成子窗口后,企业微信主进程会打开新进程失败呢?

或者有其他方法将企业微信嵌入到我的窗口里面?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧