随笔分类 - 个人文章
摘要:针对 XP 及以前的监视剪贴板更改的方法就不讲了,因为 XP 已严重过时。本篇老周介绍的方法面向 Vista 以上的系统。 在托管应用程序中监听剪贴板更新行为必须用到 Win 32 API ,具体做法,我先简单说一下。 首先,调用 AddClipboardFormatListener 函数来向窗口注
阅读全文
摘要:这篇文章本无技术含量,也不高大上,不过想想,还是写下来吧,肯定有人会用得到的。 常玩系统的朋友,应该知道 Shell 指令,这是一个很好玩很神奇的指令。利用它,可以用简短的单词,轻易地打开系统中的一些特殊目录。 比如,你在“运行”窗口或“文件管理器”的地址栏中输入: 回车后,你就会看到“发送到”目录
阅读全文
摘要:当WPF应用程序运行时,默认会创建一个UI主线程(因为至少需要一个),并在该UI线程上启动消息循环。直到消息循环结束,应用程序就随即退出。那么,问题就来了,能不能创建新线程,然后在新线程上打开一个新窗口实例?这样可以让不同窗口运行在不同的线程上,一定程度上可以相互“独立”。 其实呢,完全的独立运转似
阅读全文
摘要:对于 WPF 的线程模型,Dispatcher 对象相信各位大伙伴已经不陌生,尤其是跨线程更新UI的时候,都会用它来调度消息。与 Dispatcher 对象有关的,还有一个叫 DispatcherFrame 的东东,开发文档是这么说的:Represents an execution loop in
阅读全文
摘要:上一篇鸟文中,老周通过史无前例的代码向各位 demo 了访问键的用法(即 Alt + 某某)。不过,大伙伴们一定会发现,访问键毕竟限制较大,不太灵活,也不好发挥,于是就需要自定义快捷键了。 其实,自定义快捷键也不是什么很玄的东西,老周向来不喜欢故弄玄虚,说白了嘛,就是对键盘事件的处理。UWP 与 W
阅读全文
摘要:UWP 虽然主要面向触控操作,但 Windows 设备是万能工具,不用手指不用笔的时候,也可能会接上键盘耍耍。因此,给应用界面上的一些元素弄个快捷访问键也挺不错的。为了使用 Windows 上的各类应用具备统一性,UWP 应用的快捷访问键延续了传统,激活方法也是先按 Alt 键,然后在不松开 Alt
阅读全文
摘要:虽然WPF只能支持部分三维模型,不过从应用功能开发的角度看,也已经够用了(非游戏开发)。WPF 的三维图形,说得简单一点,也就两种而已。 1、把二维对象放到三维空间中,这个应该较为好办,像 Image 控件,Shape 类型等,或者我们常用的一些控件,都可以放进三维空间中,用这种方式构建模型可能更为
阅读全文
摘要:今天老周只想跟大伙们分享一个小技巧,是的,小小的技巧,很简单,保证你能学会的,要是学不会,可以考虑跳泰山。 有些时候,我们可能会想到不要让应用程序界面上显示的内容被截屏,要阻止应用界面呈现在截图上,可以在 ApplicationView 类上找答案,因为这个行为是跟应用程序视图有直接关系的。 我们只
阅读全文
摘要:应用程序以 Main 方法为入口点,如果为 Main 方法指定一个 string[] 类型的参数,在程序运行时,这个参数会获取到传递给应用程序的命令行参数。 而 WPF 应用程序比较特殊,因为在VS中包含一些生成的的代码,因此,Main 方法所在的代码文件被隐藏了(文件名为App.g.cs,g 表示
阅读全文
摘要:实现进程之间煲电话粥的方式,有好几种,比如,你可以用这些方案: 1、使用socket来传递。这个好像很无聊,本地进程之间也用socket?不过,通过本机回环网络确实可以进程之间通信。 2、WCF,与上面的相似,也是利用本机回环地址来在进程间通信。 3、内存映射文件。这个可能有些朋友不太熟,毕竟平时装
阅读全文
摘要:WPF 部分支持三维模型,为啥说是部分支持?毕竟 WPF 的侧重点还是在应用开发上,虽然也有些游戏是用 WPF 开发的,不过,老周想啊,如果真要开发游戏,最好用专门的框架,WPF 应当用于开发应用功能的。不过,动画、三维建模这些支持可以作为辅助,尤其是在 UI 上,适当地,可以增强一下。当然,不要为
阅读全文
摘要:WPF 不仅支持触控,也支持笔的输入,比如现在比较高大上的电磁笔。便宜的板子一般不配备电磁笔,而是配电容笔,虽然也号称XXX级压感,但是效果自然不可与电磁笔相比。 UIElement 类规范了UI元素的基本轮廓,在该类公开的事件中,大凡以 Stylus 开头的事件,都与书写笔有关。这里大伙伴要注意一
阅读全文
摘要:有些时候,希望应用程序中的某些颜色可以与系统的主题颜色相同,并且当系统主题色改变时进行同步。 实现过程并不复杂,主要用到 UISettings 类,它公开一个 GetColorValue 方法,访问这个方法,可以得到指定的颜色值(用Color结构表示)。而表示要获取颜色的类型由一个叫 UIColor
阅读全文
摘要:恢复内容开始 Input Injection 直译为:输入注入。通俗的译法为:模拟输入。此注入行为可以模拟以下几种输入行为: 1、键盘按键。 2、鼠标。 3、触控。 4、书写笔输入。 5、快捷键。这个有限制,仅限于如按 Win 键、后退键。 支持输入行为注入的API都在 Windows.UI.Inp
阅读全文
摘要:前面几篇烂文中所介绍到的错误方式,都是在操作协定的实现代码中抛出 FaultException 或者带泛型参数的detail方案,有些时候,错误的处理方法比较相似,可是要每个操作协定去处理,似乎也太麻烦,此时就应当考虑统一处理了。 在 System.ServiceModel.Dispatcher 命
阅读全文
摘要:先来说说SOAP消息中错误消息的包装结构,一条SOAP错误消息的大致形式如下: 首先是Fault元素,然后下面是错误消息相关联的子元素。在上一篇烂文中,老周曾介绍过FaultReason,这个类用于包装错误文本信息,并且支持多种语言。上面所展示的Fault元素中,faultstring子元素中的内容
阅读全文
摘要:这里所说的错误处理主要是指服务代码中抛出的异常,即开发人员主动抛出的错误当然,由于网络问题或者配置不正确,会引发连接超时的错误,但这里老周要说的是,我们在实现服务逻辑时主动抛出的异常,尤其是对客户端传入的参数的验证上面。 WCF的异常信息一般会通过 FaultException 类来包装。理论和概念
阅读全文
摘要:WCF服务实例的并发模式是在服务实现类上,使用 ServiceBehaviorAttribute 的 ConcurrencyMode 属性来指定。其值由 ConcurrencyMode 枚举来界定,这个枚举只有三个值: Single——服务实例只在单个线程上运行,如果服务是单个实例,那么同一时间只有
阅读全文
摘要:很多大伙伴们常常会苦思一个问题:项目代码中用不到的引用,是不是应该删除,以避免代码在编译后存在太多的无意义引用? 其实,这个问题,你完全可以自己去应证的,咋应证呢?知道反射吗,对了,只要你知道这玩意儿,那事情就好 do 了。 我建了一个控制台应用项目,然后,如下图,我在【引用】节点下添加这么一堆引用
阅读全文
摘要:写完这一篇,大概可以准备过年了,就算是这系列文章的收尾吧。 异常处理语句,就是常说的try...catch语句,有时候,也会带有finally子句。要生成异常处理语句,得用到CodeTryCatchFinallyStatement类,它包含三个部分。 1、TryStatements:尝试执行的代码块
阅读全文