C# 搞桌面UI适配国产麒麟Linux+龙芯遇到的一些坑
2024-10-19 21:24:31
由于一些国企有国产化的需求,所以搞了C#适配银河麒麟,适配了X64和龙芯MIPS版本
1、 在银河麒麟的龙芯版本中 pipe2 不能使用,x64版本上却可以用。
pipe2 用来做自定义消息的,搞UI是需要主线程消息循环,另外还需要自定义消息来实现跨线程来操作UI,就是Winform和WPF里的Invoke和BeginInvoke,其他线程发送自定义消息到主线程,主线程接收之后,就执行相应的UI操作。如果用XSendEvent来实现,延迟很严重。后来参考Mono里的实现,把pipe2改成用Socket就行了。
2、在银河麒麟的龙芯版本中出现任务栏图标闪烁,无限激活获取焦点,x64版本却没问题。其实就是FocusIn 消息里,如果再调用XRaiseWindow(Display, Handle);XSetInputFocus(Display, Handle, 0, IntPtr.Zero);就会出现这种死循环。后来加个判断就好了。
3、这次是银河麒麟的x64版本的文件浏览对话框不稳定,对话框是调用Gtk来实现的,只能重写个文件对话框了,不依赖GTK的。
运行效果,CPF做的IM通讯软件
最新文章
- 路由的Resolve机制(需要了解promise)
- java日期工具类
- 谷歌浏览器下载地址 chrome最新版本 百度云地址
- hive修改 表/分区语句
- 用dos命令备份和恢复sql server 数据库
- LeetCode OJ 106. Construct Binary Tree from Inorder and Postorder Traversal
- JavaScript ES6 的 let 和 var 的比较
- nvl,空时的推断和取值
- JS创建对象的七大模式
- Qt qss一些伪装态,以及margin与padding区别
- js,jQuery实现可关闭悬浮框广告特效,兼容(谷歌,火狐,Ie)
- slowhttptest慢攻击工具介绍
- Ubuntu离线安装docker
- ElasticSearch核心知识总结(一)es的六种搜索方式和数据分析
- weblogic11g 修改密码和重置密码【原】
- 【测试工具】http协议调试利器fiddler使用教程
- Java怎样处理EXCEL的读取
- Face Alignment by Coarse-to-Fine Shape Searching--解析
- linux的setup命令设置网卡和防火墙等
- 20145221 《Java程序设计》第五周学习总结
热门文章
- 全网最详细的Linux命令系列-touch命令
- [Fundamental of Power Electronics]-PART I-1.引言-1.1 功率处理概论
- Asp.Net Core 5 REST API 使用 JWT 身份验证 - Step by Step
- Python数据分析入门(十六):设置可视化图表的信息
- OOJML系列总结
- 通过Dapr实现一个简单的基于.net的微服务电商系统(四)——一步一步教你如何撸Dapr之订阅发布
- joda-time的简单使用及mysql时间函数的使用(今天,本周,本月)
- Bug Hunt UVA - 1596
- 4-socket套接字编程
- OPPO R11S识别不到ADB Device