原来百科全书这种东西也总结了,收纳
http://en.wikipedia.org/wiki/Linear_Tape-Open
最近BQ关于时间处理出问题, 是因为时间的计算上没有处理好DST,以前做计费的时候老碰到,还做了专题,疏忽了,微软倒有详细的解释,抄录如下:
http://support.microsoft.com/kb/932955/zh-cn
产品的GUI Automation准备:
1.书籍:
http://www.cnblogs.com/tonyqus/archive/2007/08/01/835071.html
这本书是由Adam Nathan和Daniel Lehenbauer写的,这两个人都是WPF Team的,而且都是核心开发工程师,技术级别自然是很高的。全书共有600页左右,原版书采用全彩印刷,于2007年初由SAMS出版社出版发行。作为一本Unleashed级别的书,自然要适合初、中、高各个层次的开发者。
本书共分为6个部分,其实严格意义上讲是5部分,因为第6部分是附录。让我们看看这五部分分别讲了什么:
第一部分 背景
这部分主要讲WPF的由来、为什么要使用WPF,以及一些WPF的基础知识。总的来说,这一部分是为接下来的几个部分作铺垫的,可以算是打基础。对于初学者来说,看完这一部分你就可以基本了解WPF是什么、为什么要学习WPF以及WPF的发展方向,说白了就是让你找到学习的方向。我个人对于这种写作风格十分喜欢,一开始就告诉你这个技术的用途,而且用了大篇幅来讲一些实际的例子,让读者可以有一个感性的认识。
第二部分 构建一个WPF应用程序
顾名思义,这部分讲的是构建一个WPF应用程序所需要的知识。但这一部分要比上一部分中的基础知识深入多了,讲的都是很实用的东西,直接可以在开发中使用,比如控件、变换等,当然这一部分主要还是着重于打基础,但与你所想象的不同,它并不是一步一步教你构建一个类似于Hello World的程序,而是把涉及的一些概念讲得比较深入,作者似乎是想让读者在充分理解的基础上创建第一个WPF应用程序。
第三部分为专业开发人员设计的功能
这部分算是第二部分的提高篇,讲到了资源、数据绑定、样式、模板等,这些可都是做高端开发所必须的,但由于是一些相对较难理解的东西,所以作者把它放在这部分里一切讲解。
第四部分 富媒体使你的程序领先于时代
这部分围绕着富媒体展开,这也是WPF真正牛的地方,比如说2D和3D功能、动画、视频、音频等,WPF的最大优点就在于它把使用这些富媒体的门槛降低了,所以如果你想真正开发出科幻般的应用程序的话,这一部分自然是必须看的。
第五部分 高级主题
这部分相对于前几部分有相当的难度,所以才叫高级主题!我个人觉得这一章完全是为高级开发人员准备的,其中涉及的内容都是关于定制控件开发、互操作性之类的,要看这一章你必须对前面的部分有充分的理解。
这本书的写作风格也很有特点,其中有大量的提示、警告和深入挖掘。所谓提示,就是一些技巧性的东西,根据正文讲的东西展开;所谓警告,则是告诉我们哪些东西可以用,哪些不可以用,这一技术有什么技巧;所谓深入挖掘,就是对正文所提到的东西深入讲解一番,可以有效帮助我们加深对一些知识点的理解。
大家可以去http://adamnathan.net/wpf/ 下载这本书的代码,不过貌似没有找到勘误信息,可能作者对这本书的质量比较有自信吧。
这几年软件开发的重点在Web,但Charles Petzold依然固守在Client端的GUI程序设计,我原本以为,他会渐渐没落,事实上,《Programming Microsoft Windows with C#》的销售也不能算很好。但是随着WPF技术的出现,Charles Petzold的这本《Applications = Code + Markup》将会让他再度成为重要的书籍作者。
这是一本「学习用书」而非「参考用书」。尽管如此,本书的读者必须熟悉C#语言并具备.NET Framework的经验,没有经验的读者,可以阅读Charles Petzold写的在线免费书籍《.NET Book Zero: What the C or C++ Programmer Needs to Know about C# and the .NET Framework》。
《Applications = Code + Markup》介绍如何使用WPF编写微软Windows平台的程序。WPF的程序可以是一般的独立Windows应用(这样的程序现在常称为 Client应用),或者是分布式(Distributed)应用的前端(也就是RIA,Rich Internet Application),未来也可能利用WPF/E取代一部分的Web技术,例如:ASP.NET。WPF被认为是Windows Vista的主要API,但是也可以用在已安装.NET 3.0的Windows XP/SP2或Windows Server 2003。
WPF其实包含「两个」互相关连的程序设计接口。你可以利用C#(或其它.NET语言)编写WPF程序。WPF也具备一个让人兴奋的XML语言, 称为XAML,甚至可以只用XAML开发某些应用。但是一般来说,你会同时利用程序代码(Code)和标记(Makeup)一同开发出你的应用。现在,你应 该能够体会,为什么这本书的书名为《Application = Code + Markup》。在WPF的观念中,我们使用XAML(Markup)定义使用者接口视觉的部分(包括图形和动画),然后写程序代码(Code)处理使用者 的输入。
WPF支持两种非常不同的程序设计接口,每个程序设计员都应该要对于WPF的Code部分建立稳固的根基,写起Markup的时候才不会遇到障 碍。因此,本书分成两个部分,各约半本书。第一部分先引导读者如何利用C#写出整个WPF程序(完全不用到XAML),第二部分再介绍XAML。
二部分将焦点转移到XAML。展示如何只用XAML建立小型的应用,以及如何结合XAML和C#以建立更大型、更复杂的应用。因为XAML 是用来建立应用的视觉部分,所以本书大部分和图形相关的内容,会放在第二部分。XAML的档案大多数是用工具所产生出来的。然而,我们还是有必要具备「亲自动手编写XAML」的能力,本书试图要教我们这么做。
再过几年Windows Forms也会被淘汰,而WPF才是未来的主流。虽然WPF尚未像Windows Forms提供这么多控件和标准对话框,但是未来却很有发展潜力。特别是,如果你需要做很多客制化控件和绘图,WPF会是你需要的。如果你想好好地学 习WPF,Charles Petzold写的这本《Applications = Code + Markup》,不会让你失望的。
2. WPF->net Framework里的UIAutomation 需要了解.
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1634518&SiteID=1
http://msdn.microsoft.com/msdnmag/issues/07/03/Bugslayer/
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=769221&SiteID=1
http://myblog.iweb.net.cn/read.php?66VMWare 确实是好东西,不过安装之后会增加四个自动启动的服务以及两个虚拟的网络连接。我是比较讨厌这种没事就占着系统资源的东西,何况也不是经常要用着 VMWare ,所以写了个批处理脚本来自动启动/关闭 VMWare 虚拟机以及相关的服务和网络连接。
完整批处理文件内容如下:
1 @echo On
2 @PROMPT [VMWareController]#
3
4 @if "%1" == "" goto Help
5 @if "%1" == "help" goto Help
6 @if "%1" == "/?" goto Help
7
8 @SET oprType=%1
9 @SET netOpr=%oprType%
10
11 @if "%oprType%" == "start" @SET netOpr=enable
12 @if "%oprType%" == "stop" @SET netOpr=disable
13
14 @SET vmxFile=%2
15 @Rem 如果没有提供第二个参数vmx full path,将尝试使用这里设定的缺省虚拟机
16 @Rem 根据需要把这个文件修改为实际希望启动的vmx文件
17 @if "%vmxFile%" == "" @SET vmxFile=D:\VMWare\Red Hat Enterprise Linux 3.vmx
18
19 @Rem VMWare的安装目录,根据需要进行修改
20 @SET vmwareFolder=E:\AppTool\VMWare
21
22 @Rem 把VMWare相关的四个服务设置为手动
23 sc config VMAuthdService start= demand
24 sc config VMnetDHCP start= demand
25 sc config "VMware NAT Service" start= demand
26 sc config vmount2 start= demand
27
28 @Rem 启动/停止VMWare相关的四个服务
29 net %oprType% "VMware Authorization Service"
30 net %oprType% "VMware DHCP Service"
31 net %oprType% "VMware NAT Service"
32 net %oprType% "VMware Virtual Mount Manager Extended"
33
34 @Rem 这里使用通配符来停用/启用所有vmnet相关的网络连接
35 devcon %netOpr% *vmnet*
36
37 @Rem 使用vmrun来运行指定的虚拟机
38 "%vmwareFolder%\vmrun" %oprType% "%vmxFile%"
39
40 @goto EndMission
41
42 :Help
43 @echo 自动启动/停止指定的 VMWare 虚拟机以及相关的服务和网络连接
44 @echo 需要 devcon 工具来控制网络连接。工具下载地址:
45 @echo http://support.microsoft.com/kb/311272/zh-cn
46 @echo 命令行参数:
47 @echo %0 [start^|stop] ^
48 @echo ^为缺省启动的虚拟机配置文件
49 @pause
50 goto EndMission
51
52 :EndMission
view plain | print | copy to clipboard | ?
@echo On
@PROMPT [VMWareController]#
@if "%1" == "" goto Help
@if "%1" == "help" goto Help
@if "%1" == "/?" goto Help
@SET oprType=%1
@SET netOpr=%oprType%
@if "%oprType%" == "start" @SET netOpr=enable
@if "%oprType%" == "stop" @SET netOpr=disable
@SET vmxFile=%2
@Rem 如果没有提供第二个参数vmx full path,将尝试使用这里设定的缺省虚拟机
@Rem 根据需要把这个文件修改为实际希望启动的vmx文件
@if "%vmxFile%" == "" @SET vmxFile=D:\VMWare\Red Hat Enterprise Linux 3.vmx
@Rem VMWare的安装目录,根据需要进行修改
@SET vmwareFolder=E:\AppTool\VMWare
@Rem 把VMWare相关的四个服务设置为手动
sc config VMAuthdService start= demand
sc config VMnetDHCP start= demand
sc config "VMware NAT Service" start= demand
sc config vmount2 start= demand
@Rem 启动/停止VMWare相关的四个服务
net %oprType% "VMware Authorization Service"
net %oprType% "VMware DHCP Service"
net %oprType% "VMware NAT Service"
net %oprType% "VMware Virtual Mount Manager Extended"
@Rem 这里使用通配符来停用/启用所有vmnet相关的网络连接
devcon %netOpr% *vmnet*
@Rem 使用vmrun来运行指定的虚拟机
"%vmwareFolder%\vmrun" %oprType% "%vmxFile%"
@goto EndMission
:Help
@echo 自动启动/停止指定的 VMWare 虚拟机以及相关的服务和网络连接
@echo 需要 devcon 工具来控制网络连接。工具下载地址:
@echo http://support.microsoft.com/kb/311272/zh-cn
@echo 命令行参数:
@echo %0 [start^|stop] ^
@echo ^为缺省启动的虚拟机配置文件
@pause
goto EndMission
:EndMission
把以上代码保存为 .bat 文件,并创建两个指向该 .bat 文件的快捷方式,并分别给两个快捷方式加上 start / stop 参数(也可以再提供第二个参数来指定启动特定的虚拟机配置文件),就可以通过快捷方式直接启动/停止 VMWare 相关的虚拟机和服务。
其中使用了 devcon 工具来控制网络连接的停用/启用,需要到微软网站下载该工具。
注意:如果你的系统中存在其他硬件ID包含 *vmnet* 字符串的话会把所有相关的设备同时都禁用/启用。你可以在命令行下输入 devcon find *vmnet* 先检查一下是否只匹配到 VMWare 所添加的两个虚拟网络连接。
用 vmrun 关闭虚拟机的时候作用等同于在操作界面的 Power Off 按钮。所以最好在执行批处理之前使用虚拟操作系统的 shutdown 命令先安全退出操作系统。