众所周知,UWP提供了强大的样式可定制化的Toast通知功能,然而这些消息都是和系统集成的,屏幕显示位置固定,而且和系统操作中心深度集成。然而有时候我们只想让app提示一些短暂的消息,比如用户添加收藏,app提示“收藏已添加”。这种消息只需要显示1到2秒左右,而且不需要用户交互。尽管在UWP中我们可以把这种消息放到某种状态栏中,但是类似Android系统提供的那种Toast通知方式效果更好。这里我们实现一个PopupManager来提供Toast通知的队列和显示功能。

Read the rest of this entry »

目前网络上常用的Unity AssetBundle解包工具主要是disunity、AssetsBundleExtractor和UnityStudio三种,但是disunity不支持较新版的包,也不能导出PNG格式,后两者功能强大、更新及时,然而(据我所知)不支持批量自动化导出。于是我直接使用Unity本身的组件写了一个GUI工具,能够将指定目录下的所有”.unity3d”文件中的所有Texture2D资源批量导出成PNG格式,并支持根据不同来源的包来定制导出方式。

Read the rest of this entry »

由于一些很[哔——]的原因,微软在WinRT中移除了获取操作系统版本号的API,再也没有Environment.OSVersion.Version这种东西用了。但是这挡不住程序员们……目前据我所知有两种黑科技可以获取操作系统版本号:

Read the rest of this entry »

在进行Windows Phone 8.1 Runtime应用开发中需要注意的地方第一话:

Read the rest of this entry »

winux项目[1]是我五年前参加学校科技创新申请的项目,用时一年实现了PE Loader以及kernel32.dll里面3个Win32 API的移植工作,后来因为项目结题加上要忙其他事情就把后续开发工作搁置了。最近整理以前的代码的时候发现关于这个项目除了结题时提交的一篇水paper之外再没写过任何技术资料,所以趁着相关知识还没全忘赶紧写篇手记留作纪念。

Read the rest of this entry »

在Silverlight中我们可以使用ImageTools库的AnimatedImage控件来播放GIF图片,但是AnimatedImage目前还不支持WinRT应用,所以我实现了一个简单的控件来播放本地GIF文件。原理很蛋疼,首先用各种工具把GIF拆成单独的PNG文件,然后放到同一个文件夹下面,加载到内存中后用Timer来控制循环显示。

Read the rest of this entry »

在Silverlight中我们可以通过设置HttpWebRequest.AllowReadStreamBuffering为false,或者使用HttpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead)来实现在回调函数中不必等到Stream完全下载完成后才能读取数据,以便计算下载速度或进行其他处理。然而在WPRT应用中(WinRT未受影响)这两种方式都失去了效果,见示例:

Read the rest of this entry »

World Line
Time Machine
Online Tools