c#: PointToClient与PointToScreen
摘要:起因: 很早就见过这两个方法,却未曾深入研究,偶尔一用,却纠结于其转换方法,遂写Demo以求验证,记录认知以做备忘。 其为Control类的内置方法,原型为: 由其可知: PointToClient是将Screen坐标(pt)与Control在Screen上的坐标做位置比较,返回差值,坐标中心为Co
阅读全文
posted @
2018-07-09 19:38
楚人无衣
阅读(3889)
推荐(0)
c#: 以模态窗口显示于其它进程窗体之前
摘要:产品之工具箱,需要工具以模态窗体,显示于主界面之上。记下代码点,以做备忘。 1、IWin32Window 2、窗体显示处理 3、同样功能,Delphi实现: i. 窗体重截CaramParams: ii. 修正工程文件: 同类方案参考资料,但不完美: c# - Show any Process li
阅读全文
posted @
2018-04-26 11:16
楚人无衣
阅读(448)
推荐(0)
c#: 打开文件夹并选中文件
摘要:一、常规方法 给定一个文件路径,打开文件夹并定位到文件,通常所用shell命令为:explorer.exe /select,filepath。 c#以进程启动之为: 此命令对于一般文件名是适用的,是最为简便的方法。 但项目中碰到特殊文件名,explorer.exe就不认了,它找不到,它默认跳到我的文
阅读全文
posted @
2018-02-03 11:26
楚人无衣
阅读(6767)
推荐(7)
c#: List.Sort()实现稳固排序(stable sort)
摘要:1. 源起: KV 7.0加入列表管理功能,处理排序问题时,对空列表执行按大小、日期、长度排序发现,其中次序会发生改变,令人纳闷。 没天理呀,不应该啊!List.Sort()方法,它为什么? 对此问题深入去了解,倒发现了有趣的问题:稳固排序与非稳固排序。 2、稳固排序与非稳固排序 在微软官方网站找到
阅读全文
posted @
2017-11-04 18:06
楚人无衣
阅读(10248)
推荐(0)
c#: UrlDecode()
摘要:1、源起: KV需要解析从插件传来的URL网址,因为其可能经过编码,所以需要解码。 初用System.Web.HttpUtility.UrlDecode()这个函数,但根据用户环境crash场景,发现有.net framework库不全情况,即找不到System.Web.dll这个程序集。 居然有此
阅读全文
posted @
2017-08-08 20:19
楚人无衣
阅读(4091)
推荐(0)
c#: 判断Firefox是否安装
摘要:1、源起: KV项目需要给浏览器安装下载插件,就需要判断是否安装对应浏览器,发现判断卸载目录方法,32位程序在.net 2.0运行环境下,常规方法不能访问64位注册表位置,导致不能判断。 2、卸载键值 所有安装过的程序,其若支持卸载,键值都在此处。 32位系统,以@"SOFTWARE\Microso
阅读全文
posted @
2017-08-08 19:57
楚人无衣
阅读(777)
推荐(0)
c#: Noto Sans字体如何支持韩文
摘要:1、源起: VCU10项目,使用了Noto Sans字体,的确漂亮。但验证在win7下,其显示韩文为乱码,颇为头痛。 其界面显示如图: 度娘之,得Noto Sans又有CJK字体,顾名思义,其为支持中日韩文,且其体积巨大,不宜做为方案,继续思考! 2、Font.GdiCharSet 属性 也是没有办
阅读全文
posted @
2017-06-15 17:34
楚人无衣
阅读(1034)
推荐(0)
c#控件的动画显示效果
摘要:1. 缘由: 项目中任务完成有个提示,需要以动画效果展示,其效果当如下图: 此为老项目为Delphi所写,改用c#实现,此效果做些设计。本也不难,小技而已,但为易于扩展,写了个静态类实现。 2. Animation动画类 直上代码如下: 非常短小,其实现控件由四面出现效果,如下图: 3. 最终实现效
阅读全文
posted @
2017-04-08 11:18
楚人无衣
阅读(9939)
推荐(1)
c#调用dll接口传递utf-8字串方法
摘要:1. 起源: VCU10之视频下载模块,采用纯python编码实现,c++代码调用pythonrun.h配置python运行环境启动python模块,编译为dll给c#调用,以使界面UI能够使用其中功能。 不要问为什么不用IronPython,它不是正统Python,且下载模块亦要为Mac产品所用。
阅读全文
posted @
2017-03-27 20:15
楚人无衣
阅读(4959)
推荐(3)
c#: 进程的挂起与恢复
摘要:1. 源起: 仍然是模块化编程所引发的需求。产品经理难伺候,女产品经理更甚之~:p 纯属戏谑,技术方案与产品经理无关,芋头莫怪! VCU10项目重构,要求各功能模块以独立进程方式实现,比如:音视频转换模块,若以独立进程方式实现,如何控制其暂停、继续等功能呢? 线程可以Suspend、Resume,c
阅读全文
posted @
2017-03-26 12:02
楚人无衣
阅读(6386)
推荐(2)
c#进程之间对象传递方法
摘要:1. 起源 KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题。 目前进程间数据传递,多用WM_COPYDATA、共享dll、内存映射、Remoting等方式。相对来说,WM_COPYDATA方式更为简便,网上更到处是其使用方
阅读全文
posted @
2017-03-17 22:44
楚人无衣
阅读(5088)
推荐(2)
c#调用aapt查看apk文件信息功能实现
摘要:第一篇随笔就此开始。 1. 起源 思路源自于项目开发过程中。需要确认apk文件版本以验证其功能差异以便于定位问题,于是度娘,得到APK信息查看器(APK-info)这个工具,其版本号为0.2。它能显示apk详细的信息,如下图示: 但它使用不够方便,只能通过双击打开对话框找到apk文件然后显示,或者拖
阅读全文
posted @
2017-03-12 23:45
楚人无衣
阅读(2409)
推荐(2)