- 博客(72)
- 资源 (4)
- 收藏
- 关注
原创 WPF WriteableBitmap 高性能双缓冲图片显示方案
摘要: 本文介绍WPF中使用WriteableBitmap实现高性能双缓冲图像显示方案。传统方法存在GC压力大、性能低下等问题,而双缓冲技术通过前后缓冲区交换实现平滑更新。核心方案包括:1)初始化前后缓冲区;2)锁机制确保线程安全;3)直接内存复制提升性能;4)动态处理尺寸变化和像素格式转换。相比传统方式,该方案显著减少对象创建和内存消耗,适合视频流、动态图表等高频率更新场景。
2025-09-10 17:34:22
708
原创 C# Activator.GetObject 原理与示例:理解.NET Remoting远程调用
本文对比了.NET Remoting(通过Activator.GetObject实现)和Windows消息传递机制(SendMessage)两种进程间通信技术。.NET Remoting支持跨进程、跨机器的复杂对象传输,适合分布式系统开发,但配置较复杂。Windows消息传递机制轻量高效,适合GUI应用间的实时通信,但数据类型受限。文章通过代码示例展示了两种技术的实现方式,并从通信模型、性能特征和开发复杂度等方面进行了对比分析,帮助开发者根据场景需求选择合适的技术方案。
2025-09-03 11:31:24
515
原创 解决Windows更新后WPF程序报TypeLoadException异常的问题
Windows更新后V8NormalPKTool.exe出现TypeLoadException异常,主要因系统更新不完整或.NET Framework损坏导致。推荐解决方案包括:卸载最近安装的Windows更新、修复.NET Framework框架、使用系统文件检查器(sfc /scannow)或DISM工具修复系统。预防措施建议创建系统还原点和定期备份数据。如问题仍未解决,可联系应用程序供应商获取进一步支持。
2025-08-26 11:16:46
655
原创 c# Process.Start异常解决办法
摘要:C#中当使用Process.Start打开无关联程序的文件时会抛出Win32Exception(错误代码1155)。本文提供两种解决方案:1)显示友好错误提示;2)调用ShellExecute触发系统"打开方式"对话框。通过异常处理和P/Invoke技术,代码示例展示了如何优雅处理文件关联缺失的情况,帮助用户选择合适程序打开文件。
2025-07-07 11:14:31
453
原创 UOS 笔映射到指定屏幕
《统信操作系统双屏触控及笔控设置指南》 在统信操作系统双触屏环境下,需分别配置触控和笔控映射。触控屏可通过系统设置直接关联对应显示器;笔控设备需先激活(用笔点击屏幕),再用xinput命令查询设备ID,并通过xinput map-to-output <ID> "屏幕名称"映射到指定屏幕。该方案解决了双屏场景下输入设备的精准定位问题,尤其适用于触控笔的多屏协作场景。
2025-07-01 09:30:27
293
原创 SetWindowsHookEx 管理员权限的窗口,回调函数不触发
基于Windows Vista之前的操作系统行为所设计的应用程序,可能希望Windows消息能够在进程之间自由的传递,以完成一些特殊的工作。这就像拥有较高特权等级的进程,设置了一个过滤器,允许通过的Windows消息都被添加到这个过滤器的白名单,只有在这个白名单上的消息才允许传递进来。如果我们想容许一个消息可以发送给较高特权等级的进程,我们可以在较高特权等级的进程中调用ChangeWindowMessageFilter函数,以MSGFLT_ADD作为参数将消息添加进消息过滤器的白名单。
2024-10-10 14:07:02
524
原创 Wine容器内程序执行sh脚本问题研究
wpf程序在wine环境执行sh脚本,不能等待脚本执行完成自动退出的问题进行了研究,需求很简单,在wpf程序使用cmd,或者bat ,又或者是直接执行sh脚本,想到脚本执行完成才处理后面的逻辑。但是实际验证过程中都不能等待sh脚本执行完成就立马返回了。
2024-09-12 14:16:32
503
原创 WPF程序Wine适配后在统信Wine应用兼容引擎 启动时间长,和启动软件后报错“启动失败,请通过xxx” 解决办法!
WPF程序适配wine在UOS系统启动软件后,启动引擎没有自动退出,超过20秒后会出现错误!
2024-09-10 15:32:57
1543
原创 wine FFmpeg 解决打开摄像头报错:Malformed dshow input string. video=xxxxx: xxxx: I/O error
window软件在适配linux uos 国产操作系统时。遇到一个问题,我们软件有个功能是使用ffmpeg打开摄像头。适配时遇到了问题,一直报错。
2024-08-21 14:42:56
1655
原创 linux uos wine运行32位程序报错与解决方法
1: wine版本要支持32位(在测试过程中发现wine8.0 版本支持32位,还有WOW版本的也是可以运行32位程序。但是我们软件需要依赖wine9.0以上的版本)。2:在安装deb软件包的目标电脑linux要开启i386的支持!
2024-08-13 18:25:21
2532
原创 linux uos 把管理员权限的文件夹/文件 设置为普通用户权限/非管理员权限
chown -R 用户名称: ‘/data/home/wjs/.local/share’吐槽:之前一直设置 chmod 644 以及600 不得行。
2024-08-04 15:00:54
1479
原创 Linux命令行 复制模式/扩展模式 调用系统功能切换
公司软件需要从window 适配国产操作系统,目前使用wine方案。在我们软件有个切换屏幕模式的功能,需要支持用户在我们软件内,切换复制模式/扩展模式。在linux 下 uos/deepin 等系统。如果要从复制模式设置为扩展模式使用命令行时,需要指定屏幕在系统中设置的左右位置。才能从复制模式切换为扩展模式。
2024-07-31 17:42:29
1388
原创 linux/windows wps node.js插件对PPT状态监听并且通知其他应用
linux/windows wps node.js插件对PPT状态监听,通知其他应用。公司要求对Window系统,和国产操作系统(UOS)的wps 软件在 PPT开始播放结束播放,和播放中翻页上一页下一页等状态进行监听,并通知到我们桌面应用。
2024-07-22 11:45:59
1146
原创 Wine应用打包器设置开机自启及DEBIAN postinst 桌面快捷图标生成
wine应用打包器,开机自启动研究。deb DEBIAN postinst 脚本文件,开机自启动和桌面图标生成
2024-07-15 14:24:14
836
原创 WPF单例程序,和单例程序重启
我们添加了一个Restart方法,该方法首先释放互斥锁,然后启动新的应用程序实例,最后关闭当前的应用程序。这样,新的应用程序实例就可以获取互斥锁,而不会因为互斥锁已经被占用而无法启动。我们可以先在程序启动时给程序加一个互斥锁,保证该应用程序运行进程的唯一性。在想要实现程序的自重启时,释放当前的互斥锁,然后再启动新的实例。在WPF应用程序中,想要实现软件重启,可以再Start一次该软件的exe程序。但是有些时候我们想要这个程序是唯一运行的单例,而不是可以多开的程序。
2024-05-24 10:10:52
845
原创 Innosetup 调用c# dll 和 c# dll的函数导出
Files]//下面是用3F/DllExport 工具 把 c# dll 处理好了,这里引用到脚本里面来[Code]b:Integer);//注意:需要使用 stdcall delayload 延迟加载,另外需要使用x86平台编译的dll//在需要的地方进行调用 Test(1,2);
2023-12-29 10:20:54
1049
原创 win7 安装.net framework 4.5.2报错:“根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。”
桌面端软件在部分用户电脑(环境:win7 sp1) 安装 .net framework 4.5.2 时报错:“根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。
2023-12-04 15:46:41
18253
3
原创 wpf webBrowser控件 常用的函数和内存泄漏问题
WebBrowsers可以让我们在窗体中进行导航网页。WebBrowser控件内部使用ie的引擎,因此使用WebBrowser我们必须安装ie浏览器(windows默认安装的)。
2023-10-08 11:59:16
1355
原创 c# PdfSharp 判断PDF某页是否存在图片和文本内容
使用PDFSharp 判断某一页PDF文件 是否有图片,是否有文本内容,我使用的是。
2023-09-13 16:56:36
1019
原创 微信二维码登录,修改下面提示的字体和样式
由于业务需要,需要把微信二维码下面默认的提示文字进行修改,如下图所示:需要修改上面红色框内选择的字体,在研究的过程中,发现好多人都在查询这个问题,并且有些网友思路也是对的。可能只是方式没对。
2023-07-12 16:10:44
1113
4
原创 ChangeWindowMessageFilterEx 关于接收管理员权限问题
管理员身份运行的程序,需要接收非管理员身份发送的消息,需要使用windows Api。
2023-05-09 17:43:11
803
原创 WPF运行报错 在MS.Internal.FontCache.FontFaceLayoutInfo+IntMap.TryGetValue(Int32, UInt16 ByRef)
WPF运行报错 在MS.Internal.FontCache.FontFaceLayoutInfo+IntMap.TryGetValue(Int32, UInt16 ByRef)
2022-10-18 09:00:03
751
原创 VS 拉去代码报错:Not possible to fast-forward, aborting.
VS 拉取代码/提交代码报错:Not possible to fast-forward, aborting.
2022-10-08 10:56:23
362
WindowsApplicationDriver-1.2.99-win-x64
2022-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅