- 博客(4)
- 收藏
- 关注
原创 qt调用wpf控件
本文介绍如何在Qt应用中调用WPF窗口,通过C++/CLI作为中间层解决跨平台技术整合难题。实现流程包括:Qt触发按钮事件→C++导出类转发→C++/CLI处理STA线程→调用WPF控件库显示窗口。重点解决了非托管C++与托管.NET的通信问题,以及WPF必需的STA线程模型要求。该方案适用于在Qt项目中复用WPF组件的场景,有效提高开发效率,但需注意平台一致性、线程模型和编译配置等技术细节。
2025-10-29 10:50:44
724
原创 WPF中调用Qt窗口实现模态化的完整解决方案
通过模拟WPF自身的模态实现机制,我们成功解决了跨框架调用时的模态问题。这种方案的优势在于:1. 完全模拟WPF原生模态行为,用户体验一致2. 不需要修改Qt窗口的实现代码3. 采用Win32 API进行窗口管理,兼容性好4. 包含完整的异常处理和状态恢复机制该方案适用于任何WPF与其他UI框架混合开发时需要实现跨框架模态的场景,不仅限于Qt。
2025-07-22 19:28:55
1592
1
原创 C# 实现 EXE 与 DLL 分离部署及主窗口生命周期控制实战
在 C# 桌面应用开发中,我们经常会遇到需要将主程序(EXE)与依赖组件(DLL)分离部署的场景,这不仅能减小主程序体积,还能方便组件的独立更新。同时,WPF 应用中默认的窗口生命周期管理机制可能无法满足复杂场景需求,本文将通过实战代码解析如何实现 EXE 与 DLL 分离部署、自定义路径配置及主窗口生命周期控制。
2025-07-22 18:49:24
911
原创 托管调试助手 “LoaderLock“:“正尝试在 OS 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。”
当 DLL 被加载(DllMain 函数执行)或进程 / 线程初始化时,Windows 加载程序会持有一个内部锁,如果此时执行托管代码(例如创建 .NET 对象、调用 C# 方法),可能导致死锁或应用程序崩溃。常见触发场景:在 C++/CLI 混合模式程序集的静态构造函数、DllMain 入口点中调用托管代码。这个错误是一个典型的 .NET 托管调试助手(MDA)警告,提示你在 Windows 加载程序锁(Loader Lock)期间执行了托管代码,这是一个严重的线程安全问题。
2025-07-18 14:18:33
572
空空如也
关于#c++#的问题:比如CTK框架之类的
2025-06-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅