Edi Wang

Windows Development 83


Windows Phone 8 列表控件(LongListSelector)分组

Windows Phone 8的列表控件天生支持分组,就像人脉应用中的类似,可以快速根据拼音首字母定位。在列表视图中点击分组标题后显示所有的组名,点击组名即可定位到这个组。我们自己开发的WP应用也能做到这样的分组功能,但需要一些额外的代码。下面的例子来自我的一个WP应用,有图有真相: 分组视图: 实现LongListSelector分组其实很简单。 1. 首先,你需要一个分组的助手类,这是一个相对标准的类,MSDN上抄来的: public class Group : List { public Group(string name, IEnumerable items) : base(items) { this.Title = name; } public string Title {...

Windows Phone

使用PowerShell操作Windows Event Log

PowerShell是个很牛逼的命令行工具,在Windows 7以后的系统里都默认自带。学会了PowerShell就可以提升逼格,让妹子崇拜。今天就教大家用PowerShell操作Windows的Event Log。 首先,启动PowerShell很简单,只需要在开始菜单里输入Power,就能找到了(Windows 8用户可以直接在开始屏幕里搜索Power)。 启动PowerShell后,你可以看到一个这样的界面。和CMD不同,它是深蓝色背景的,并且路径前多了PS前缀。看起来很厉害的样子: 有用程序写过Windows Event Log的童鞋都知道,我们的首要任务是创建一个Log和一个Source。PowerShell里语法如下: new-eventlog -LogName 日志名称 -Source 源名称 比如,我们创建一个Name为Game,Source为CS的Log...

Windows PowerShell EventLog

How to enable IPC share on Windows 8/8.1/10

Update 2017.2: This will also work with Windows 10 最近为了贯彻微软先进思想,给台式机换了个Windows 8,许多地方爆出了翔,但用惯以后还是很舒服的。在Windows 8里,操作系统的许多设置被微软在黑暗中偷偷的改过了。比如局域网共享文件夹,在以前版本的Windows上,如果知道对方机器的管理员帐户密码,就可以在路径后面加上“盘符$"来直接访问对方的整个硬盘。比如在:\\DiaosPC\D$,系统会弹出一个身份验证对话框,输入DiaosPC上的管理员帐号后,即可访问他D盘的内容。在Windows 2000的年代,黑客们可以利用这点进行“空连接”攻击,给对方下载木马,然后用at命令定时执行,这些黑暗的历史就不告诉大家了。。。。 然而,这个功能在Windows 8上似乎被撸掉了,虽然在管理工具里还能见到所有盘符的管理共享,但局域网中是无...

共享 Windows 8

如何让Surface RT的开始屏幕显示4行磁贴

昨天Surface RT启动后,开始屏幕突然变成了4行磁贴。虽然感觉比较惊讶,蛋说实话,4行还是比3行的可用性高一点。不过重启Surface以后,就还原成3行了,怀疑这是Windows判别显示器大小时候的一个bug。经过一番研究,在Windows 8(Windows RT)上,开始屏幕显示多少行磁贴,是由Windows自动决定的,主要取决于屏幕分辨率以及屏幕大小。在Surface的1366x768、10.1,10.6寸屏上,默认显示3行,并且不提供设置选项。不过,1366x768的分辨率在较大的屏幕上(14.1、15.4寸),是可以显示4行磁贴的。在其他分辨率的设备上,也是如此。但是Windows没有提供手动设置的地方,所以我们只能改注册表强撸。下面的注册表设置,只适合Surface RT,Windows 8(非RT)用户请勿尝试,小心灰飞烟灭。Windows Registry Edito...

Surface RT Windows 8 Tile

开荒成功:如何在Surface RT上给其他计算机共享文件

最近在撸Surface,屌丝只能买RT版的,上面的Windows 8不是全功能的,你们懂的。对我来说,比较不方便的就是似乎不能共享文件。当然,用Surface访问我台式机上的共享一点没问题。所以今天开荒了一下如何在Windows 8 (RT版上)架设共享文件夹。 1. 在服务管理里面,找到Server,并设置为自动启动,然后启动这个服务。 2. 运行mmc.exe(服务器管理员猿应该经常用这个吧) 3. 将“共享文件夹”添加到右边的管理单元里。 4. 现在你就可以添加你要共享的文件夹了。注意权限设置一定要正确,符合自己的需要。 5. 用局域网中的其他电脑访问你的Surface的机器名,应该能看到共享了!...

Surface Windows RT 共享

如何在Outlook2010中移动hotmail的ost文件

今天突然发现Outlook把邮件都存C盘用户目录里了。就像这样:C:\Users\Edi\AppData\Local\Microsoft\Outlook\Edi_Wang_outlook.ost,这文件和你的邮箱一样大,非常占用空间。所以我想把它换个地方放,结果账户设置里,outlook.com(以前的hotmail)的ost文件是个奇葩,数据文件设置里根本没有改ost路径的选项,和网上查到的方法大不一样。 后来看到一个微软猿工回的帖,说hotmail的文件就是这样的,不能移动的。本人菊花一紧,难道是写hotmail connector组件的程序员把这个东西给hard code了? 不过以电脑技巧为生的屌丝们还是有解决办法的: 1. 关掉outlook 2. 把你的巨型ost文件,比如我的(Edi_Wang_outlook.ost)移动到别的位置。比如这里:G:\Outlook...

hotmail Outlook ost

Silverlight程序Debug的方法以及如何在非IE浏览器下调试程序

这篇文章是入门的,高手请直接无视。 一、不能调试的解决办法 在VS里,我们一般调试程序都是直接按F5就行的。但Silverlight的程序有时候加不到断点上来。这时候需要检查几个地方。 1. 当前的Build设置的是Release还是Debug?只有Debug模式才可以调试,这在VS的工具栏上可以直接改。 2. 当前Host Silverlight程序的Web Application是否启用了Silverlight Debug?检查项目属性的这个位置。必须勾选Silverlight才能Debug。 3. 你是否为本机管理员?只有管理员帐号才能正确无误的挂载到Silverlight进程上。 二、在非IE浏览器下调试Silverlight程序。 如果我们的默认浏览器是IE,那么按下F5之后,其实VS会自动挂载到IE的进程上。所以才能debug。因此,我们如果换了一个浏览器,V...

Debug Silverlight Chrome

PSEXEC连接远程机器cmd拒绝访问的原因及解决办法

最近在玩一个很牛逼的小工具叫做psexec,知道对方的管理员帐号和密码就可以远程连接对方主机的cmd,对方无需打开远程桌面等任何服务。n年前曾被黑客们用来做过很多坏事,不过这个工具对于网管和程序员来说倒是可以提供不少方便。今天在公司的域环境下试了试,结果居然爆了: 我输入的用户名及密码是正确的(用户名得包含域,即domain\username),并且这个帐号在目标机器上也是有管理员权限的。可是试了好几次都是Access is denied。 于是我登录目标机器,看了下Windows的日志,结果发现psexec发起的这次登录,居然是要用我本机当前用户的身份执行的。我本机执行cmd的用户名如下: 这个会出现在目标机器的Security日志里: 图中,Specail Logon里使用的是psexec参数里的帐号,而Logoff里显示的,却是我本机登录帐号。这个帐号在目标机器上...

PSEXEC 管理员

使用批处理及Windows计划任务做每日备份

我们电脑里常常有些重要数据需要定期备份,然而每次都人工操作非常麻烦。并且,在有的特殊情况下,没有办法人工操作(比如公司下班以后,在没人的时候希望服务器做一些数据备份操作)。所以我们需要让Windows自己来完成这些重复性的劳动。 本文的示例是我自己的博客项目,我将创建一个批处理,用于把“E:\WebProject\EdiBlog”文件夹打包压缩,并按日期建立备份文件夹。之后创建一个计划任务,让Windows每天晚上9点运行这个批处理。 首先,批处理很简单,代码如下,将它保存为RunBackup.bat @echo off @SET EXEPATH="C:\Program Files\7-Zip\7z.exe" @SET PROJECTPATH="E:\WebProject\EdiBlog" %EXEPATH% a -tzip "G:\EdiBlogBackup\%dat...

Windows 计划任务 批处理

VMWare安装Windows 8 Developer Preview蓝屏的解决办法

昨天晚上想试一下Win8,用VMWare8装了一下,结果在"Getting Devices Ready"的时候爆了: 重启之后,又爆了: 根据经验,这应该是安装硬件驱动的时候爆了,说明Win8无法正确识别VMWare的硬件。但很奇怪,我记得网上说VMWare8是可以装Windows8的。经过一番摸索,终于找到了正确的安装办法: 首先,创建虚拟机的时候要选Custom: 然后选Workstation 8.0 选择 I will install the operating system later. 这里选Windows系统,在Version里选择Windows7,如果你下载的Win8镜像是64位的,就选Windows7 x64 到Network Type这步的时候,选择Bridged networking 然后一路next到虚拟机创建完成。然后打开...

VMWare Win8