<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Windows Embedded Blog from China</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/yunxu/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/yunxu/feed.xml</link>
    <description />
    <lastBuildDate>Wed, 17 Apr 2019 03:27:38 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>7,Windows Embedded Standard开发初体验（七）</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/7windows-embedded-standard</link>
      <pubDate>Sun, 10 Aug 2008 23:03:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/08/10/7windows-embedded-standard/</guid>
      <description><![CDATA[&nbsp;更改启动画面&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，到这里，我们的Windows Embedded...]]></description>
      <content:encoded><![CDATA[&nbsp;更改启动画面<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，到这里，我们的Windows Embedded Standard开发初体验活动接近尾声了，还有一个问题，有人觉得Windows Embedded Standard的启动界面与XP完全一样，让人感觉和用XP没有区别。于是，我们就需要修改一下启动画面来达到这个效果了： 
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我必须承认，自己是个很没有美工天赋的人（要么怎么当了没前途的程序员呢J）。加上启动界面的要求过于苛刻，做成这样已经很不错了。需要说明的是，我是按照雷志刚BLOG中的《更换XPE开关机画面和欢迎界面》来实现的，链接如下：</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <A href="https://lzg-ad.blog.sohu.com/76781546.html"><FONT color=#0457b3>https://lzg-ad.blog.sohu.com/76781546.html</FONT></A></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 首先，我们需要创建一个640x480的位图，位图颜色为16色（注意不是16位色）。我用了Windows Embedded Standard的标准界面。然后，将位图改名为Boot.bmp，保存到WES Image的Windows目录下。还需要修改Boot.ini文件：</P>
<P>[boot loader] <BR>timeout=30 <BR>default=mulit(0)disk(0)rdisk(0)partition(1)\Windows <BR>[operating systems] <BR>default=mulit(0)disk(0)rdisk(0)partition(1)\Windows="Windows XP Professional"/fastdetect /bootlogo /noguiboot</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实主要是修改粗体字部分，其余部分保持原状即可。</P>
<P mce_keep="true">&nbsp;</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205733.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，到这里，我们的Windows Embedded Standard初体验就完成了。必须承认，Silverlight为我们提供了强大的UI表现能力，而Windows Embedded Standard又是一个能够展现Silverlight强大功能的操作系统平台。这一点，对于嵌入式开发来说，是具有非常大的吸引力的。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这里只是一个起点，至于大家可以使用Windows Embedded Standard开发出怎样的嵌入式产品来，我无法想象，但是却乐观其成。<BR></P>]]></content:encoded>
    </item>
    <item>
      <title>6,Windows Embedded Standard开发初体验（六）</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/6windows-embedded-standard</link>
      <pubDate>Sun, 10 Aug 2008 23:02:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/08/10/6windows-embedded-standard/</guid>
      <description><![CDATA[&nbsp;IE的安全限制&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，让我们回过头来说Silverlight...]]></description>
      <content:encoded><![CDATA[&nbsp;IE的安全限制<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，让我们回过头来说Silverlight TV的那个安全限制吧，还是要强调一下，并不是所有的Silverlight都会遇到这个问题，只是Silverlight TV调用了ActiveX组件，才会遇到这个问题。 
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个安全提示在我们平时使用IE时也经常会遇到，点一下也就没事了，毕竟为了安全着想嘛。不过如果将这个Silverlight组件作为Shell，每次启动之后，都是一个黑屏，需要人工点一下之后才能正常运行，用户体验似乎不够友好。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205531.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240205531.jpg"></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 于是，我们就需要更改一些IE的高级安全设置来解决这个问题了。如果熟悉IE的朋友，可能很快就知道问题出在哪里了，不过我是在同事的帮助下花了两天才找到问题根源的。问题的原因在于：</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205732.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240205732.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对的，就是在IE的Internet Options对话框里，安全选项（Security）中“Allow active content to run in files on My computer”的选项默认是不选的。选上这个设置之后，运行Silverlight TV时就不会有安全提示出现了。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IE的问题解决了，可是到了Windows Embedded Standard里又有问题了。IE的Advanced设置在WES IE组件的设置里是没有的。所以，我们只能通过修改注册表这一条路了。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总之，经过了千难万险，我们知道了“Allow active content to run in files on My computer”对应：</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 中的“iexplore.exe”项，而且非常特别的是，该项为0，表示选中该选项；为1时，则表示未选中该项。大家开发时一定注意。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 总之，我们了解了这个设置对应的注册表项后，接下来就是在组件中添加相应的注册表项就可以了。这个工作在前边已经做过了。</P>]]></content:encoded>
    </item>
    <item>
      <title>5,Windows Embedded Standard开发初体验（五 ）</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/5windows-embedded-standard</link>
      <pubDate>Sun, 10 Aug 2008 23:00:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/08/10/5windows-embedded-standard/</guid>
      <description><![CDATA[导入组件数据库&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将组建导入组件数据库的工作相对简单，只需要打开Component Database...]]></description>
      <content:encoded><![CDATA[导入组件数据库<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 将组建导入组件数据库的工作相对简单，只需要打开Component Database Manager，然后在Database属性页中，点击Import按钮。在弹出的Import SLD对话框中，首先选择SDL file，也就是我们刚才通过Component Designer编辑好的组件，然后点击Import按钮就可以了。 
<P mce_keep="true">&nbsp;</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205026.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因为导入的文件有些多，所以可能会延时几秒钟，等看到文件被成功导入的提示后，就可以关闭Component Database Manager，打开Target Designer来设计我们的操作系统了。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 创建Silverlight播放器<BR></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在已经创建过一个Target Image之后，我们创建一个以Silverlight为Shell的Image看起来也不是那么复杂。还是让我们回到Target Designer中吧。首先创建一个新的Configuration。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 然后添加下面的这些组件：</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1， Software àTest &amp; Deployment à Virtual PC 2004 Helper Macro</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2， SoftwareàSystemàSecurityàInfrastructureàWindows Logon (Standard)</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3， Software à System àUser Interface àShells à MyShell（这个就是你创建的Shell组件）</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4， Software à Test &amp; Deployment à Runtime Quick Start Helper Macro</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205027.jpg" border=0></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们打开Runtime Quick Start Helper Macro节点，选中Setting，然后在右边的属性窗口中，不选中Explorer shell。如果不去掉Explorer shell，它将在依赖检查时与我们创建的MyShell发生冲突。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205228.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，在完成这一步后，按F5进行依赖检查。在依赖检查完成后，我们还需要设置一下显示器的分辨率，在中间区域被添加的组件中找到“S3 Trio64V+”显卡驱动组件，选中其Setting。在右边的设置窗口中，将Screen resolution选择为“1024 by 768 pixels”。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205329.jpg" border=0></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，完成这一步之后，我们可以放心大胆地F7，编译Windows Embedded Standard的Image，然后将其部署到另外的VPC中去。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在经历了FBA之后，我们会看到系统启动后，直接进入了Silverlight的显示界面：</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240205330.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; COOL吧？至少我觉得挺酷的。</P>]]></content:encoded>
    </item>
    <item>
      <title>4,Windows Embedded Standard开发初体验（四）</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/4windows-embedded-standard</link>
      <pubDate>Thu, 31 Jul 2008 23:25:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/07/31/4windows-embedded-standard/</guid>
      <description><![CDATA[添加文件、依赖组件、注册表&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...]]></description>
      <content:encoded><![CDATA[添加文件、依赖组件、注册表<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来我们就要进入创建组件最重要的一环了，添加文件。为什么说重要，因为这里有一个大坑，我在Windows Embedded Standard产品组施卫娟老师的指导下，花了两周的时间才勉强爬出来，可见该坑之深。 
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这里我们使用了一个现成的Demo，SilverlightTV作为我们的目标文件。SilverlightTV中包含很多文件和文件夹。我们要做的第一件事，就是将所有文件拷贝到一个文件夹中。这一点非常重要，因为考虑到效率问题，Windows Embedded Standard组件中的文件只能包括在同一个文件夹中。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 主要提示：如果将包含子目录的文件夹添加到组件中，组件设计器不会报错，而要等到这个组件加入到Target Designer时，才会报文件找不到的错误，并且在构建好的Image文件中，只会包括文件夹，而不会包括其中的文件。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过，新的问题就来了，如果我的文件结构是固定的，并且有相互的依赖关系，把所有文件都放到一个文件夹后，程序无法正常运行该怎么办呢？我们自然有办法，不过现在，还是赶紧将所有文件放在一个文件夹中吧，这个文件夹就是添加Repositories时指定的Source Path文件夹。不过千万记清文件原来所在的文件夹，否则下一步就麻烦了。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204119.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204119.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 做完这步之后，回到Component Designer中，在Files节点单击右键，在菜单中选择Add – Files in Folder，在稍后弹出的对话框中，选择我们放置源文件的文件夹。经过下面的处理过程之后，文件夹中所有的文件都被加入到组件中了</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204120.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204120.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 不过问题是，所有的文件还被放置在同一个目录中，无法正常执行。这时，我们要通过一个比较繁琐的过程来解决这个问题——修改文件的目的文件夹。在右侧的文件列表中，选中某一个文件，双击，打开文件编辑对话框：</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204421.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204421.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们打开的是一个wmv文件，我们只需要修改Destination中的目录结构，%24%是一个转义字符，表示C盘，我们不要去动它。根据我们文件的原始位置填写目的文件的所在目录就可以了。这个工作要花费一段时间，需要点耐心。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来，我们要添加组件的Group Memberships，表示组件在组件目录树中所处的位置。我们在“Group Memberships”节点上右键选择“Add Group Membership”命令。在弹出的对话框中，选择SoftwareàSystemàUser InterfaceàShells，然后选择Shell即可。点击OK，关闭对话框。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204422.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204422.jpg"></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接下来为组件添加依赖关系。依赖关系表明该组件依赖于那些组件，当我们添加了该组件到Target Image中时，在依赖检查时，会将其所依赖的组件也添加到Image中。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204723.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204723.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们选择“Component or Group Dependency”，右键菜单中“Add”-“Component Dependency”，会弹出添加组件依赖对话框。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们在“Component dependency source”选择Database，即选择组件数据库中的组件。然后找到SoftwareàSystemàNetworking &amp; Communicationsà ApplicationsàInternet Explorer – Hotfix Q321232，并且确认My Component下选择的是“Depends on the selected component”，然后点击Apply按钮，添加依赖关系。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这时对话框不会关闭，所以我们还需要添加第二个依赖组件，就是大名鼎鼎的</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204724.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204724.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，到这里，我们的组件就基本完成了，哦，还忘了件事，添加注册表。不过请大家注意的是，并不是每个Silverlight组件都需要添加注册表项，是因为SilverlightTV这个组件中调用了ActiveX，IE中会有安全限制，所以我们才通过修改注册表的方式来规避这个问题。关于IE安全限制的问题，我们后边会专门说明，在这里大家只要了解如何为组件添加注册表项就可以了。</P>
<P align=center><IMG alt="" src="https://image.mcuol.com/News/0807141240204925.jpg" border=0 mce_src="https://image.mcuol.com/News/0807141240204925.jpg"></P>
<P><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在Component Designer中选择Registry Data，右键菜单中选择添加注册表项。我们可以点击Key name后边的Browse按钮，在注册表中定位要添加的项。我们要添加的项为：</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HKEY_CURRENT_USER\Software\Microsoft\Internet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Explorer\Main\FeatureControl\FEATURE_LOCALMACHINE_LOCKDOWN</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 中的“iexplore.exe”项，值为DWORD，设置为0。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大家一看就知道这个选项是与IE有关的，至于什么关系，我们先卖个关子，稍后再说。先点击OK，关闭注册表编辑对话框。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 好了，到这里我们支持Silverlight的Shell组件终于编辑完成了。好的，赶紧保存一下吧。不过，我们怎么在Target Designer里使用这个组件呢？</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这就要看下一节的了……</P>]]></content:encoded>
    </item>
    <item>
      <title>3.Windows Embedded Standard开发初体验（三）</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/3-windows-embedded-standard</link>
      <pubDate>Fri, 04 Jul 2008 01:21:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/07/04/3-windows-embedded-standard/</guid>
      <description><![CDATA[...]]></description>
      <content:encoded><![CDATA[<H2 style="MARGIN: 13pt 0cm"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" minmax_bound="true"><FONT size=3 minmax_bound="true"><SPAN lang=EN-US minmax_bound="true"><FONT face=Calibri minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin" minmax_bound="true"><IMG id=HeadPortrait1_Image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 166px; HEIGHT: 126px; BORDER-RIGHT-WIDTH: 0px" height=391 src="https://blog.yesky.com/uploadfile/head_images/373/224200805030_140418.jpg" width=166 minmax_bound="true" mce_src="https://blog.yesky.com/uploadfile/head_images/373/224200805030_140418.jpg"> </P>
<H2 minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin" minmax_bound="true">作者：马宁</SPAN></SPAN>&nbsp;</FONT></SPAN></FONT>&nbsp;</SPAN></H2></H2>
<H2 style="MARGIN: 13pt 0cm"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">开始创建</SPAN><SPAN lang=EN-US><FONT face=Cambria>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">的组件</SPAN></H2>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在嵌入式领域发挥的作用绝对不仅仅只有增加</SPAN><SPAN lang=EN-US><FONT face=Calibri>Web</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的用户体验而已。很多嵌入式设备需要丰富多彩的用户交互界面，比如</SPAN><SPAN lang=EN-US><FONT face=Calibri>ATM</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">、自动售货机、自助查询终端、老虎机（喔）……</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的主要应用领域恰好在这几个方面，所以</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">对于来说</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来说是如虎添翼。可能有朋友也会说，我们使用其他技术也可以实现与</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">类似的界面，这个肯定是没错。但是考虑到与后台数据库或</SPAN><SPAN lang=EN-US><FONT face=Calibri>Web Service</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的交互、部署成本、维护成本等问题，我相信</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">肯定会成为开发者今后开发中的首选。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">好了，先不说那么多，我们下一步要做的是将</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">变成</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的主界面，</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">启动之后直接进入到</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的应用之中。我们知道</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">是</SPAN><SPAN lang=EN-US><FONT face=Calibri>Host</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">到</SPAN><SPAN lang=EN-US><FONT face=Calibri>IE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">等浏览器中运行的，在</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中也是这样，而</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的部署有两种方式：第一种是将</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件部署到</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Image</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中，随</SPAN><SPAN lang=EN-US><FONT face=Calibri>Image</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">一起发布；另一种是让浏览器启动后访问</SPAN><SPAN lang=EN-US><FONT face=Calibri>Internet</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">上的某个</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">站点。这两种方法有各自的应用场景，我们在这里不做过多分析。在这里，我们挑选比较难得一种：将</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件与</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Image</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">一起发布。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">第一步，我们要创建一个组件：这个组件应该是一个</SPAN><SPAN lang=EN-US><FONT face=Calibri>Shell</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">组件，在系统启动后不进入我们传统意义上的“桌面”，而是直接启动这个组件中指定的应用程序。而且组件中还应该包括一些</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">相关的文件、一些注册表项，还有一些高级设置。稍后我们会看得到。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">我们还是先打开我们创建组件的工具：</SPAN><SPAN lang=EN-US><FONT face=Calibri>Component Designer</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">没有一个完整的</SPAN><SPAN lang=EN-US><FONT face=Calibri>IDE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">环境，所以做什么事情的时候要分别打开不同的工具。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN lang=EN-US><FONT face=Calibri>Component Designer</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的界面如下，我们要先选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>File-New</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">创建一个新的组件，然后保存这个组件，并为</SPAN><SPAN lang=EN-US><FONT face=Calibri>sld</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件设置一个文件名称。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接下来，我们要创建一个</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，这个相当于给组件住的房子。组件是保存在数据库中的，而</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在数据库中可以起到隔离组件的作用，而且也比较方便我们维护和升级组件。</SPAN></FONT></P><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">
<P align=center><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/CreateComp1.jpg" border=0></P></SPAN></FONT>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-US style="mso-no-proof: yes"><FONT size=3><?XML:NAMESPACE PREFIX = V /><V:SHAPETYPE id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><V:STROKE joinstyle="miter"></V:STROKE><V:FORMULAS><V:F eqn="if lineDrawn pixelLineWidth 0"></V:F><V:F eqn="sum @0 1 0"></V:F><V:F eqn="sum 0 0 @1"></V:F><V:F eqn="prod @2 1 2"></V:F><V:F eqn="prod @3 21600 pixelWidth"></V:F><V:F eqn="prod @3 21600 pixelHeight"></V:F><V:F eqn="sum @0 0 1"></V:F><V:F eqn="prod @6 1 2"></V:F><V:F eqn="prod @7 21600 pixelWidth"></V:F><V:F eqn="sum @8 21600 0"></V:F><V:F eqn="prod @7 21600 pixelHeight"></V:F><V:F eqn="sum @10 21600 0"></V:F></V:FORMULAS><V:PATH o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></V:PATH><?XML:NAMESPACE PREFIX = O /><O:LOCK aspectratio="t" v:ext="edit"></O:LOCK></V:SHAPETYPE></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">我们右键点击上图中</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">节点，选择“</SPAN><STRONG style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-bidi-font-family: Arial"><FONT face=Calibri>Add Repository</FONT></SPAN></STRONG><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”来创建一个新的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。首先为</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">起个名字，写在右侧属性窗口的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Name</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中，然后还要点击</SPAN><SPAN lang=EN-US><FONT face=Calibri>Source Path</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">后边的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Browse</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">按钮。</SPAN><SPAN lang=EN-US><FONT face=Calibri>Source Path</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">顾名思义，我们要为该</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的源文件找一个保存的位置，而我们一般也会把组件所需的文件都放到这个文件夹下。这个文件夹一般没有规定，但是最好放到</SPAN><SPAN lang=EN-US><FONT face=Calibri>C</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">盘下，自己创建个文件夹就可以了。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接下来，我们就该添加组件了，在上图的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Components</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">节点上右键单击，在右键菜单上选择“</SPAN><STRONG style="mso-bidi-font-weight: normal"><SPAN lang=EN-US><FONT face=Calibri>Add Component</FONT></SPAN></STRONG><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><FONT size=3>创建组件之后，第一件事是在右侧的属性窗口中修改名字。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/CreateComp7.jpg" border=0></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">因为我们创建的这个组件是一个</SPAN><SPAN lang=EN-US><FONT face=Calibri>Shell</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">组件，所以我们还要规定它在组件库中的原型组件，点击</SPAN><SPAN lang=EN-US><FONT face=Calibri>Prototype</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">后边的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Browse</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">按钮。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">我们会看到下图的对话框，初始化可能会花费一些时间。选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>Software | System | User Interface | Shells</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Shell Prototype Component</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">组件，作为我们组件的原型组件。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/comp1.jpg" border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接下来还需要点击</SPAN><SPAN lang=EN-US><FONT face=Calibri>Advanced</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">按钮，定义启动时的自定义动作：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/CreateComp2.jpg" border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在上面的对话框中，点击</SPAN><SPAN lang=EN-US><FONT face=Calibri>Add</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">按钮添加一个叫做“</SPAN><SPAN lang=EN-US><FONT face=Calibri>cmiShellPath</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”的扩展属性，类型为</SPAN><SPAN lang=EN-US><FONT face=Calibri>String</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，具体指为：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US><FONT face=Calibri size=3>%16426%\Internet Explorer\iexplore.exe -k "C:\SilverlightApplication2\Default.html"</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">怎么样看着眼熟吧，没错就是启动一个</SPAN><SPAN lang=EN-US><FONT face=Calibri>IE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">浏览器的实例，</SPAN><SPAN lang=EN-US><FONT face=Calibri>-k</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">表示全屏显示，而后边的文件路径不是一成不变的，要根据你将这个</SPAN><SPAN lang=EN-US><FONT face=Calibri>HTML</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件放到哪里而决定。如果是在线的网站其实更简单一些，直接写网址就好了。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">然后为组件指定</SPAN><SPAN lang=EN-US><FONT face=Calibri>Repositories</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，点击“</SPAN><STRONG style="mso-bidi-font-weight: normal"><SPAN lang=EN-US style="mso-bidi-font-family: Arial"><FONT face=Calibri>Repositories…</FONT></SPAN></STRONG><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”按钮，会弹出下面的对话框。好了，直接选择咱们前边创建的，就可以了。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/comp5.jpg" border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><FONT size=3>然后到了非常重要的一步，添加文件。这个问题也曾经困扰了我很久，我们明天再说。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><FONT size=3></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">&nbsp;更多关于Windows Embedded开发文件，请参考：<FONT face=Verdana><A href="https://we.cnblogs.com/"><FONT face=Verdana color=#1d58d1>https://we.cnblogs.com/</FONT></A></FONT></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>2.Windows Embedded Standard开发初体验(二)</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/2-windows-embedded-standard</link>
      <pubDate>Thu, 03 Jul 2008 00:30:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/07/03/2-windows-embedded-standard/</guid>
      <description><![CDATA[支持Silverlight的Windows Embedded Standard
好了，完成安装之后，我们就可以来做Windows Embedded...]]></description>
      <content:encoded><![CDATA[<H2 style="MARGIN: 13pt 0cm" align=center><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">支持</SPAN><SPAN lang=EN-US><FONT face=Cambria>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">的</SPAN><SPAN lang=EN-US><FONT face=Cambria>Windows Embedded Standard</FONT></SPAN></H2>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">好了，完成安装之后，我们就可以来做</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的第一个操作系统镜像了。在开始菜单中找到“</SPAN><SPAN lang=EN-US><FONT face=Calibri>Microsoft Windows Embedded Studio</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”，启动其中的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Target Designer</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。然后再</SPAN><SPAN lang=EN-US><FONT face=Calibri>Target Designer</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</SPAN><SPAN lang=EN-US><FONT face=Calibri>File</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">菜单中选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>New</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，创建一个新的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Configuration</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo1.jpg" border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo1.jpg"></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-no-proof: yes"><FONT size=3><?XML:NAMESPACE PREFIX = V /><V:SHAPETYPE id=_x0000_t75 coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"><V:STROKE joinstyle="miter"></V:STROKE><V:FORMULAS><V:F eqn="if lineDrawn pixelLineWidth 0"></V:F><V:F eqn="sum @0 1 0"></V:F><V:F eqn="sum 0 0 @1"></V:F><V:F eqn="prod @2 1 2"></V:F><V:F eqn="prod @3 21600 pixelWidth"></V:F><V:F eqn="prod @3 21600 pixelHeight"></V:F><V:F eqn="sum @0 0 1"></V:F><V:F eqn="prod @6 1 2"></V:F><V:F eqn="prod @7 21600 pixelWidth"></V:F><V:F eqn="sum @8 21600 0"></V:F><V:F eqn="prod @7 21600 pixelHeight"></V:F><V:F eqn="sum @10 21600 0"></V:F></V:FORMULAS><V:PATH o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></V:PATH><?XML:NAMESPACE PREFIX = O /><O:LOCK v:ext="edit" aspectratio="t"></O:LOCK></V:SHAPETYPE></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">输入名称后，点击</SPAN><SPAN lang=EN-US><FONT face=Calibri>OK</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，进入</SPAN><SPAN lang=EN-US><FONT face=Calibri>Target Designer</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的主界面。为了简单起见，我们选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>Virtual PC</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">作为我们的目标设备，这样就可以省去获取硬件设备信息的步骤。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">首先，我们要在左侧的组件列表中找到我们要添加的组件。第一个自然是</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">组件了。</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中包括的是</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight 1.0</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，目前</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight 2.0</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">还是</SPAN><SPAN lang=EN-US><FONT face=Calibri>beta</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">阶段，也许等</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">正式推出时就是</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight 2.0</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">了，即使不是，也肯定会有</SPAN><SPAN lang=EN-US><FONT face=Calibri>QFE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo2.jpg" border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo2.jpg"></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">由于不确定</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">被放到哪里了，所以只好</SPAN><SPAN lang=EN-US><FONT face=Calibri>Search</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">了一把。结果是，在</SPAN><SPAN lang=EN-US><FONT face=Calibri>Software-System-System Services-Application Support</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中包括了</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">组件。除了</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">之外，我们还需要添加几个组件：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">首先，是</SPAN><SPAN lang=EN-US><FONT face=Calibri>Design Templates</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Information Application</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">；然后是，</SPAN><SPAN lang=EN-US><FONT face=Calibri>Software</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">节点下的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Test &amp; Development</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Runtime Quick Start Helper Macro</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">和</SPAN><SPAN lang=EN-US><FONT face=Calibri>Virtual PC 2007 Helper Macro</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">两个组件。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo3.jpg" border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo3.jpg"></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">添加了这些组件之后，我们就可以进行依赖检查了，按</SPAN><SPAN lang=EN-US><FONT face=Calibri>F5</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，或者在</SPAN><SPAN lang=EN-US><FONT face=Calibri>Configuration</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">菜单下的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Check Dependencies</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">项，就可以执行了。如下图：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo4.jpg" border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo4.jpg"></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">依赖检查之后，如果没有错误，我们可以直接进行编译，选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>Configuration</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Build Target Image</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">或者按</SPAN><SPAN lang=EN-US><FONT face=Calibri>F7</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，构建过程如下图：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo6.jpg" border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/demo6.jpg"></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在编译完成之后，我们就可以在</SPAN><SPAN lang=EN-US><FONT face=Calibri>C</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：</SPAN><SPAN lang=EN-US><FONT face=Calibri>\Windows Embedded Images</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下找到已经编译好的文件。我们将其拷贝到准备好的虚拟硬盘中就可以了。如何构建</SPAN><SPAN lang=EN-US><FONT face=Calibri>VPC</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的开发环境，请参考我的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Webcast </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">《</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Embedded</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">开发初体验》中的介绍。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在第一次启动时，系统会启动</SPAN><SPAN lang=EN-US><FONT face=Calibri>FBA(First boot agent)</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">来完成一些设置，我们需要耐心等待一些时间：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG height=497 alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/FBA.jpg" width=569 border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/FBA.jpg"></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接下来，我们关闭</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">开发环境的</SPAN><SPAN lang=EN-US><FONT face=Calibri>VPC</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，记得一定要选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>Shut down</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG height=511 alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/web.jpg" width=560 border=0 mce_src="https://www.cnblogs.com/images/cnblogs_com/aawolf/web.jpg"></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">然后运行</SPAN><SPAN lang=EN-US><FONT face=Calibri>XPETraget</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</SPAN><SPAN lang=EN-US><FONT face=Calibri>VPC</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，我们编译出来的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard Image</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">其实和</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Professional</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">非常类似，只是少了比较多的组件。不过我们仍然能够通过开始菜单来打开</SPAN><SPAN lang=EN-US><FONT face=Calibri>IE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">浏览器，然后再里边输入</SPAN><SPAN lang=EN-US><FONT face=Calibri>URL: </FONT><A href="https://www.silverlight.net/" mce_href="https://www.silverlight.net/"><FONT face=Calibri color=#0000ff>www.silverlight.net</FONT></A><FONT face=Calibri> </FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。对</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">比较熟悉的朋友一定会知道这个网站。而访问这个网站时，并没有提示我们需要安装</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，这表明</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">已经被加到了</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Image</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">之中了。</SPAN></FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>Windows Embedded Standard开发初体验(一)</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/windows-embedded-standard</link>
      <pubDate>Wed, 25 Jun 2008 03:24:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/06/25/windows-embedded-standard/</guid>
      <description><![CDATA[作者：马宁&nbsp;
Windows Embedded Standard，微软又创造了一个新名词。与此同时，XP Embedded，成为了一个历史名词。微软在年初推出了新的Windows...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN lang=EN-US><FONT face=Calibri><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin" minmax_bound="true"><IMG id=HeadPortrait1_Image style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 166px; HEIGHT: 126px; BORDER-RIGHT-WIDTH: 0px" height=391 src="https://blog.yesky.com/uploadfile/head_images/373/224200805030_140418.jpg" width=166 minmax_bound="true" mce_src="https://blog.yesky.com/uploadfile/head_images/373/224200805030_140418.jpg"> </P>
<H2 minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin" minmax_bound="true">作者：马宁</SPAN></SPAN>&nbsp;</FONT></SPAN></FONT></H2>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，微软又创造了一个新名词。与此同时，</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Embedded</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，成为了一个历史名词。微软在年初推出了新的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">产品线命名规则：</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows CE</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">改名为</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Compact</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，而</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Embedded</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">改名为</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，</SPAN><SPAN lang=EN-US><FONT face=Calibri>WEPOS</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">改名为</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded POSReady</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，还有新推出的针对导航产品的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded NavReady</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">好了，无论</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">叫什么，我们只要记得，它就是一个组件化的</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Professional SP2</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">就好了。为了适应嵌入式产品的定制化需求，微软将</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Professional</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">拆成了两万多个组件，允许用户根据自己的需求进行二次开发，定制尺寸更小的操作系统。而且可以完成一些特殊的要求，比如换一个桌面程序，启动时执行自定义操作，还可以更换启动的</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">界面等。还有一些</SPAN><SPAN lang=EN-US><FONT face=Calibri>EWF</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">之类的高级功能。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">但是被乱刀切块的</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Embedded</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">也是</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，所以</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">也只能运行在</SPAN><SPAN lang=EN-US><FONT face=Calibri>x86</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">架构的</SPAN><SPAN lang=EN-US><FONT face=Calibri>CPU</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">上，而不能支持其他的</SPAN><SPAN lang=EN-US><FONT face=Calibri>CPU</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，比如</SPAN><SPAN lang=EN-US><FONT face=Calibri>ARM</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">当然</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">比起之前版本的</SPAN><SPAN lang=EN-US><FONT face=Calibri>XP Embedded</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">还是有很多进步的，最大的一个特点就是将</SPAN><SPAN lang=EN-US><FONT face=Calibri>Silverlight</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">引入到了</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中，后边我们还会详细说到。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">说到这里，相信大家会对</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">有一个感性的理解。接下来，我们就要通过实践，让大家看到</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">开发的流程。</SPAN></FONT></P>
<H2 style="MARGIN: 13pt 0cm"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Cambria; mso-ascii-theme-font: major-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: major-fareast; mso-hansi-font-family: Cambria; mso-hansi-theme-font: major-latin">安装</SPAN><SPAN lang=EN-US><FONT face=Cambria>Windows Embedded Standard</FONT></SPAN></H2>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">目前</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">还没有正式发布，现在的</SPAN><SPAN lang=EN-US><FONT face=Calibri>CTP</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">（社区预览版）相当于征求意见稿，可以免费从微软网站上下载的到。只需要在下列地址中，使用</SPAN><SPAN lang=EN-US><FONT face=Calibri>Live ID</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">做一个简单的注册，下载项目中选择</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的</SPAN><SPAN lang=EN-US><FONT face=Calibri>ISO</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件即可。下载地址：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN lang=EN-US><A href="https://connect.microsoft.com/windowsembedded"><FONT face=Calibri size=3>https://connect.microsoft.com/windowsembedded</FONT></A></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下载过程会安装微软的</SPAN><SPAN lang=EN-US><FONT face=Calibri>File Transfer Manager</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，文件有</SPAN><SPAN lang=EN-US><FONT face=Calibri>4G</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">左右，下载过程会根据网速有所不同，请大家耐心等待。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><IMG style="WIDTH: 448px; HEIGHT: 371px" height=371 alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install1.jpg" width=448 border=0></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"><FONT size=3><?XML:NAMESPACE PREFIX = V /><V:SHAPETYPE id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><V:STROKE joinstyle="miter"></V:STROKE><V:FORMULAS><V:F eqn="if lineDrawn pixelLineWidth 0"></V:F><V:F eqn="sum @0 1 0"></V:F><V:F eqn="sum 0 0 @1"></V:F><V:F eqn="prod @2 1 2"></V:F><V:F eqn="prod @3 21600 pixelWidth"></V:F><V:F eqn="prod @3 21600 pixelHeight"></V:F><V:F eqn="sum @0 0 1"></V:F><V:F eqn="prod @6 1 2"></V:F><V:F eqn="prod @7 21600 pixelWidth"></V:F><V:F eqn="sum @8 21600 0"></V:F><V:F eqn="prod @7 21600 pixelHeight"></V:F><V:F eqn="sum @10 21600 0"></V:F></V:FORMULAS><V:PATH o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></V:PATH><?XML:NAMESPACE PREFIX = O /><O:LOCK aspectratio="t" v:ext="edit"></O:LOCK></V:SHAPETYPE></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下载完成后，我们可以刻盘或者使用</SPAN><SPAN lang=EN-US><FONT face=Calibri>Daemon</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">虚拟</SPAN><SPAN lang=EN-US><FONT face=Calibri>ISO</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">文件，然后自动运行。运行会为我们启动一个</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的安装向导。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">首先在</SPAN><SPAN lang=EN-US><FONT face=Calibri>Prepare</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">中需要首先安装</SPAN><SPAN lang=EN-US><FONT face=Calibri>SQL Server 2005 Express</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">版本，可以从</SPAN><SPAN lang=EN-US><FONT face=Calibri>Web</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">或者</SPAN><SPAN lang=EN-US><FONT face=Calibri>DVD</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">安装。我选择从</SPAN><SPAN lang=EN-US><FONT face=Calibri>Web</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">安装，</SPAN><SPAN lang=EN-US><FONT face=Calibri>30</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">多</SPAN><SPAN lang=EN-US><FONT face=Calibri>M</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">，不算太大。</SPAN><SPAN lang=EN-US><FONT face=Calibri>SQL Server Express</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">主要是为了存储</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的组件数据库。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG style="WIDTH: 497px; HEIGHT: 374px" height=374 alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install2.jpg" width=497 border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">接下来直接进入</SPAN><SPAN lang=EN-US><FONT face=Calibri>WES</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的安装向导：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt" align=center><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG style="WIDTH: 403px; HEIGHT: 302px" height=302 alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install3.jpg" width=403 border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">省略欢迎界面和</SPAN><SPAN lang=EN-US><FONT face=Calibri>License</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">界面，反正所有软件都有这两个界面。下面是选择快速安装还是高级安装的界面。我选择了“</SPAN><SPAN lang=EN-US><FONT face=Calibri>Advanced</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”</SPAN><SPAN lang=EN-US><FONT face=Calibri>:</FONT></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN lang=EN-US><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install6.jpg" border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">在高级安装模式中，果然有我们需要的东西。在“</SPAN><SPAN lang=EN-US><FONT face=Calibri>Windows Embedded Standard</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”</SPAN><SPAN lang=EN-US><FONT face=Calibri>-</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">“</SPAN><SPAN lang=EN-US><FONT face=Calibri>Database</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”中选择“</SPAN><SPAN lang=EN-US><FONT face=Calibri>Chinese(PRC) Language Pack</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”和“</SPAN><SPAN lang=EN-US><FONT face=Calibri>Chinese(Taiwan) Language Pack</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">”，简体中文和繁体中文不是默认安装，所以我们要选：</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install7.jpg" border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">下面这一步</SPAN><STRONG style="mso-bidi-font-weight: normal"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin; mso-bidi-font-size: 10.5pt">非常重要</SPAN></STRONG><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">：我在这里被困扰了两个小时……。安装过程需要输入</SPAN><SPAN lang=EN-US><FONT face=Calibri>SQL Server Express</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的名称。我在这里犯了错误（之前一直在用</SPAN><SPAN lang=EN-US><FONT face=Calibri>SQL Server</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">），我们要填写计算机名</SPAN><SPAN lang=EN-US><FONT face=Calibri>+</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">实例名称，而</SPAN><SPAN lang=EN-US><FONT face=Calibri>SQL Server Express</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">安装时，我没有填写实例名称，然后就想当然的认为没有实例名称。不过经过试验，我知道</SPAN><SPAN lang=EN-US><FONT face=Calibri>SQL Server Express</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">的数据库名是：计算机名</SPAN><SPAN lang=EN-US><FONT face=Calibri>+SQLEXPRESS</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">。</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install8.jpg" border=0></SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><FONT size=3><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">然后点击旁边的</SPAN><SPAN lang=EN-US><FONT face=Calibri>Test</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">按钮，如果数据库连接成功，则显示下图的对话框。需要说明的是，如果数据库连接不成功，也可以完成安装过程，不过在打开</SPAN><SPAN lang=EN-US><FONT face=Calibri>Target Designer</FONT></SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin">时，会告诉你数据库初始化失败。（知道我为什么被困扰两个小时了吧？）</SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><FONT size=3>如果显示下面的界面则说明数据库连接没有问题，放心安装就好了。</FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><SPAN lang=EN-US style="mso-no-proof: yes"><IMG alt="" src="https://www.cnblogs.com/images/cnblogs_com/aawolf/install9.jpg" border=0></SPAN></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; TEXT-ALIGN: center" align=center><SPAN lang=EN-US style="mso-no-proof: yes"></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin"><FONT size=3>后边的安装过程没有需要介绍的了，安装完成即可。</FONT></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>22, .Net Micro Framework研究—让MF支持英文输入法</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/22-net-micro-frameworkmf</link>
      <pubDate>Tue, 24 Jun 2008 02:03:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/06/24/22-net-micro-frameworkmf/</guid>
      <description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者:...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" minmax_bound="true"><FONT size=3 minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><IMG id=photo height=100 src="https://mvp.support.microsoft.com/profile/MvpPhoto.aspx?ID=BC168B93-C642-4EE1-9E80-3F0A9735407E&amp;ln=zh-cn" width=78 minmax_bound="true" mce_src="https://mvp.support.microsoft.com/profile/MvpPhoto.aspx?ID=BC168B93-C642-4EE1-9E80-3F0A9735407E&amp;ln=zh-cn"> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" minmax_bound="true">
<TABLE class="" cellSpacing=0 cellPadding=0 minmax_bound="true">
<TBODY minmax_bound="true">
<TR minmax_bound="true">
<TD class=bioLabel class="bioLabel" minmax_bound="true">
<P minmax_bound="true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者: 刘洪峰</P></TD></TR></TBODY></TABLE></SPAN></SPAN></SPAN></FONT></P>
<DIV style="TEXT-INDENT: 21pt">&nbsp;</DIV>
<DIV style="TEXT-INDENT: 21pt">一旦支持了鼠标功能，MF可研究的领域，似乎变得无穷无尽，这也许是我近几天一直陷于此中不能自拔的原因了。</DIV>
<DIV style="TEXT-INDENT: 21pt">有了鼠标即使没有键盘，我们也可以通过虚拟键盘完成输入工作。这个工作很有意义，也很有挑战性，因为这不是windows平台，也不是Dos平台，这是“一穷二白”的MF平台，所有的工作都得从头做起（实现绘制键盘，向有输入焦点控件发送按键信息，删除，添加字符等等功能）。</DIV>
<DIV style="TEXT-INDENT: 21pt">目前字符串不仅无法转换为数字，并且没有字符插入功能，所以这个函数也必须自己来实现，此外输入焦点光标也需要自己绘制，好了，先不说难处了，先看看最终成果。</DIV>
<DIV style="TEXT-INDENT: 21pt">&nbsp;<IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012701.jpg"></DIV>
<DIV style="TEXT-INDENT: 21pt">这是一个文本输入实例，当文本框有输入焦点时，自动弹出输入面板。</DIV>
<DIV style="TEXT-INDENT: 21pt"><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012702.jpg"></DIV>
<DIV style="TEXT-INDENT: 21pt"></DIV>
<DIV style="TEXT-INDENT: 21pt">虚拟键盘上的“Shift”键也是有效的，切换后可以输入符号和大写字母。</DIV>
<DIV style="TEXT-INDENT: 21pt">&nbsp;<IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012703.jpg"></DIV>
<DIV style="TEXT-INDENT: 21pt"></DIV>
<DIV style="TEXT-INDENT: 21pt">当文本框失去输入焦点的时候，虚拟键盘消失。</DIV>
<DIV style="TEXT-INDENT: 21pt">&nbsp;</DIV>
<DIV style="TEXT-INDENT: 21pt">以上应用实现的代码如下：</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">个人信息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: #2b91af">YFSelfInfo</SPAN> : <SPAN style="COLOR: #2b91af">YFDialog</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFLabel</SPAN>[] label=<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFLabel</SPAN>[3];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFText</SPAN>[] text=<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFText</SPAN>[3];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">string</SPAN>[] strLabelName = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: blue">string</SPAN>[] {<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">姓名:"</SPAN><SPAN style="FONT-SIZE: 9pt">,<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">单位:"</SPAN><SPAN style="FONT-SIZE: 9pt">,<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">博客:"</SPAN><SPAN style="FONT-SIZE: 9pt">};</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> YFSelfInfo(<SPAN style="COLOR: blue">string</SPAN> Title, <SPAN style="COLOR: blue">int</SPAN> Left, <SPAN style="COLOR: blue">int</SPAN> Top, <SPAN style="COLOR: blue">int</SPAN> Width, <SPAN style="COLOR: blue">int</SPAN> Height, <SPAN style="COLOR: #2b91af">YFWindowBase</SPAN> Parent): <SPAN style="COLOR: blue">base</SPAN>(Title, Width, Height, Parent)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//-------------</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">for</SPAN>(<SPAN style="COLOR: blue">int</SPAN> i=0;i&lt;3;i++)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label[i] = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFLabel</SPAN>(strLabelName[i], 20, ClientRect.Top + 10+30*i,40, 20);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(label[i]);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text[i] = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFText</SPAN>(<SPAN style="COLOR: #a31515">""</SPAN>, 70, label[i].Top, 140, 20);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text[i].Enter += <SPAN style="COLOR: blue">new</SPAN> YFSoft.SPOT.Presentation.<SPAN style="COLOR: #2b91af">YFEventHandler</SPAN>(text_Enter);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text[i].Leave += <SPAN style="COLOR: blue">new</SPAN> YFSoft.SPOT.Presentation.<SPAN style="COLOR: #2b91af">YFEventHandler</SPAN>(text_Leave);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(text[i]);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;<SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">获得输入焦点时显示输入面板</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">void</SPAN> text_Leave(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">EventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HideInputPanel();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Height = <SPAN style="COLOR: #2b91af">SystemMetrics</SPAN>.ScreenHeight;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">失去焦点时隐藏输入面板</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">void</SPAN> text_Enter(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">EventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ShowInputPanel();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Height = <SPAN style="COLOR: blue">this</SPAN>.InputPanelTop + 1;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">主窗体鼠标信息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMouseClick(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text_Leave(<SPAN style="COLOR: blue">null</SPAN>, <SPAN style="COLOR: blue">null</SPAN>);&nbsp;<SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">隐藏输入面板</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">base</SPAN>.OnMouseClick(sender, e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt">}</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>用户程序是不是很简单？再看看我实现的一个记事本程序</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012704.jpg"></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>正在输入界面</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>&nbsp;</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012705.jpg"></DIV>
<DIV style="TEXT-INDENT: 21pt">菜单功能支持</DIV>
<DIV style="TEXT-INDENT: 21pt">&nbsp;</DIV>
<DIV style="TEXT-INDENT: 21pt">相关代码如下：</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">记事本</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: #2b91af">YFNote</SPAN> : <SPAN style="COLOR: #2b91af">YFDialog</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFText</SPAN> text;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> YFNote(<SPAN style="COLOR: blue">string</SPAN> Title,<SPAN style="COLOR: blue">int</SPAN> Left, <SPAN style="COLOR: blue">int</SPAN> Top, <SPAN style="COLOR: blue">int</SPAN> Width, <SPAN style="COLOR: blue">int</SPAN> Height, <SPAN style="COLOR: #2b91af">YFWindowBase</SPAN> Parent)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <SPAN style="COLOR: blue">base</SPAN>(Title, Width, Height, Parent)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFText</SPAN>(<SPAN style="COLOR: #a31515">""</SPAN>, ClientRect.Left, ClientRect.Top, ClientRect.Width, ClientRect.Height);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.BorderStyle = <SPAN style="COLOR: #2b91af">BorderStyle</SPAN>.None;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.Align = <SPAN style="COLOR: blue">false</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text.Enter += <SPAN style="COLOR: blue">new</SPAN> YFSoft.SPOT.Presentation.<SPAN style="COLOR: #2b91af">YFEventHandler</SPAN>(text_Enter);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.Leave += <SPAN style="COLOR: blue">new</SPAN> YFSoft.SPOT.Presentation.<SPAN style="COLOR: #2b91af">YFEventHandler</SPAN>(text_Leave);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(text);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Left = Left;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Top = Top;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">新建"</SPAN><SPAN style="FONT-SIZE: 9pt">));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">保存"</SPAN><SPAN style="FONT-SIZE: 9pt">));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"-"</SPAN>));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">退出"</SPAN><SPAN style="FONT-SIZE: 9pt">));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">获得输入焦点时显示输入面板</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">void</SPAN> text_Leave(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">EventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; HideInputPanel();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Height = <SPAN style="COLOR: #2b91af">SystemMetrics</SPAN>.ScreenHeight; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.Height = ClientRect.Height;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">失去焦点时隐藏输入面板</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">void</SPAN> text_Enter(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">EventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ShowInputPanel();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Height = <SPAN style="COLOR: blue">this</SPAN>.InputPanelTop+1;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.Height = ClientRect.Height;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">主窗体鼠标信息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMouseClick(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text_Leave(<SPAN style="COLOR: blue">null</SPAN>, <SPAN style="COLOR: blue">null</SPAN>);&nbsp;<SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">隐藏输入面板</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">base</SPAN>.OnMouseClick(sender, e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">菜单</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMenuClick(<SPAN style="COLOR: #2b91af">MenuEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">switch</SPAN> (e.Text)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">新建"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text.Text = <SPAN style="COLOR: #a31515">""</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">保存"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MessageBox(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">不好意思，暂时没有保存功能"</SPAN><SPAN style="FONT-SIZE: 9pt">,<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">记事本"</SPAN><SPAN style="FONT-SIZE: 9pt">, <SPAN style="COLOR: #2b91af">MessageBoxButtons</SPAN>.OK, <SPAN style="COLOR: #2b91af">MessageBoxIcon</SPAN>.Warning); </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">退出"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Close();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">base</SPAN>.OnMenuClick(e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt"><SPAN style="FONT-SIZE: 9pt">&nbsp;}</SPAN></DIV>
<DIV style="TEXT-INDENT: 21pt">程序也超简单，但功能还是蛮强大的，我们下面看看虚拟键盘的相关代码，实现思路和鼠标功能一样，也是直接借助基类的虚拟函数，向指定的窗体和控件发送按键消息。</DIV>
<DIV style="TEXT-INDENT: 21pt">核心代码如下：</DIV>
<DIV style="TEXT-INDENT: 22.5pt" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">public</SPAN><SPAN style="FONT-SIZE: 9pt"> <SPAN style="COLOR: blue">void</SPAN> TransactKey(<SPAN style="COLOR: #2b91af">KeyState</SPAN> state, <SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">向控件发送按键消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (<SPAN style="COLOR: blue">this</SPAN>.Parent != <SPAN style="COLOR: blue">null</SPAN>)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">Keys</SPAN> key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.None;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">int</SPAN> keyValue=0;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">char</SPAN> _char = (<SPAN style="COLOR: blue">char</SPAN>)0;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFButton</SPAN> b = (<SPAN style="COLOR: #2b91af">YFButton</SPAN>)sender;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (b.Text == <SPAN style="COLOR: #a31515">""</SPAN> || b.Text==<SPAN style="COLOR: #a31515">"En"</SPAN> || b.Text==<SPAN style="COLOR: #a31515">"Cn"</SPAN>) <SPAN style="COLOR: blue">return</SPAN>;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">Button</SPAN> btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.None;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">switch</SPAN> (b.Text)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Tab"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Tab;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Caps"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.CapsLock;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Shift"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Select;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Ent"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Enter;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Select;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Esc"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Escape;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Ins"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Insert;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Del"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Delete;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"Menu"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Menu;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Menu;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">↑"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Up;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Up;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">←"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Left;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Left;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">↓"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Down;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Down;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">→"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Right;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Right;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"&lt;-"</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = <SPAN style="COLOR: #2b91af">Keys</SPAN>.Back;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; btn = <SPAN style="COLOR: #2b91af">Button</SPAN>.Back;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">default</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _char = b.Text[0];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key = (<SPAN style="COLOR: #2b91af">Keys</SPAN>)b.Name[0];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; keyValue = (<SPAN style="COLOR: blue">int</SPAN>)key;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">向当前有输入焦点的窗口发送系统按键消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">if</SPAN> (btn!= <SPAN style="COLOR: #2b91af">Button</SPAN>.None)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Down) &gt; 0) Parent.GetFocus().OnButtonDownEx(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">ButtonEventArgs</SPAN>(<SPAN style="COLOR: blue">null</SPAN>, <SPAN style="COLOR: blue">null</SPAN>, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">TimeSpan</SPAN>(), btn));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Up) &gt; 0) Parent.GetFocus().OnButtonUpEx(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">ButtonEventArgs</SPAN>(<SPAN style="COLOR: blue">null</SPAN>, <SPAN style="COLOR: blue">null</SPAN>, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">TimeSpan</SPAN>(), btn));&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">获得输入焦点的控件</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFControl</SPAN> c = <SPAN style="COLOR: blue">this</SPAN>.Parent.Children.GetFocus();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (c != <SPAN style="COLOR: blue">null</SPAN>)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Down) &gt; 0) c.OnKeyDown(sender, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">KeyEventArgs</SPAN>(key, keyValue, button[41].Checked, button[28].Checked, button[55].Checked));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Press) &gt; 0 &amp;&amp; _char != (<SPAN style="COLOR: blue">char</SPAN>)0) c.OnKeyPress(sender, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">KeyPressEventArgs</SPAN>(_char));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Up) &gt; 0) c.OnKeyUp(sender, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">KeyEventArgs</SPAN>(key, keyValue, button[41].Checked, button[28].Checked, button[55].Checked));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">父窗体要求接收按键消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (Parent.KeyPreview)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Down) &gt; 0) Parent.OnKeyDown(Parent, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">KeyEventArgs</SPAN>(key, keyValue, button[41].Checked, button[28].Checked, button[55].Checked));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Press) &gt; 0 &amp;&amp; _char != (<SPAN style="COLOR: blue">char</SPAN>)0) Parent.OnKeyPress(Parent, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">KeyPressEventArgs</SPAN>(_char));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">KeyState</SPAN>.Up) &gt; 0) Parent.OnKeyUp(Parent, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">KeyEventArgs</SPAN>(key, keyValue, button[41].Checked, button[28].Checked, button[55].Checked));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt"><SPAN style="FONT-SIZE: 9pt">}</SPAN></DIV>
<DIV><SPAN>&nbsp;&nbsp; </SPAN>以上仅仅实现的是英文输入，中文输入怎么做？似乎要困难的多，此外粘贴、复制功能要不要做？总之有很多很多的东西值得我们去探索去实现，这一切，似乎我们在走Microsoft的老路，要在MF平台上实现一个Micro Windows！说到这我想到一个笑话，有一个人给上帝进行打赌说他也能造人。上帝问他，你怎么做，他说，我先用泥土捏一个…，“等等，”上帝打断了他，“你要用你自己的泥土”。</DIV>]]></content:encoded>
    </item>
    <item>
      <title>21, .Net Micro Framework研究—实现SideShow窗体界面</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/21-net-micro-frameworksideshow</link>
      <pubDate>Tue, 24 Jun 2008 02:01:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/06/24/21-net-micro-frameworksideshow/</guid>
      <description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者: 刘洪峰
&nbsp;
基于MF系统的Windows...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" minmax_bound="true"><FONT size=3 minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><IMG id=photo height=100 src="https://mvp.support.microsoft.com/profile/MvpPhoto.aspx?ID=BC168B93-C642-4EE1-9E80-3F0A9735407E&amp;ln=zh-cn" width=78 minmax_bound="true" mce_src="https://mvp.support.microsoft.com/profile/MvpPhoto.aspx?ID=BC168B93-C642-4EE1-9E80-3F0A9735407E&amp;ln=zh-cn"> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" minmax_bound="true">
<TABLE class="" cellSpacing=0 cellPadding=0 minmax_bound="true">
<TBODY minmax_bound="true">
<TR minmax_bound="true">
<TD class=bioLabel class="bioLabel" minmax_bound="true">
<P minmax_bound="true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者: 刘洪峰</P></TD></TR></TBODY></TABLE></SPAN></SPAN></SPAN></FONT></P>
<DIV style="TEXT-INDENT: 15.75pt">&nbsp;</DIV>
<DIV style="TEXT-INDENT: 15.75pt">基于MF系统的Windows SideShow界面是非常炫的（如下图）。既然微软能用.Net Micro Framework实现这么棒的界面效果，我想我们也能做到。</DIV>
<DIV style="TEXT-INDENT: 15.75pt"><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012510.jpg"></DIV>
<DIV style="TEXT-INDENT: 15.75pt"></DIV>
<DIV style="TEXT-INDENT: 15.75pt">（SideShow模拟器界面和游戏程序中的右键菜单—注意菜单弹出后，其它的界面变暗了）</DIV>
<DIV style="TEXT-INDENT: 21pt">现在的任务是设计一套支持鼠标（或触摸屏）的窗体框架（目前MF提供的Window类仅支持按键功能），所以正好把SideShow如此炫的界面元素也可以添加进来。</DIV>
<DIV style="TEXT-INDENT: 21pt">用过MF的人知道是用下面的方法来实现按键事件接收的，既然我们要支持鼠标功能，所以最好也用类似的机理实现。</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按键事件</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">protected</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnButtonDown(<SPAN style="COLOR: #2b91af">ButtonEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">switch</SPAN> (e.Button)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按下确定键</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Select:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按下左键</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Left:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按下右键</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Right:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按向上</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Up:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按向下</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Down:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按下菜单</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Menu:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按下返回键</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #2b91af">Button</SPAN>.Back:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">base</SPAN>.OnButtonDown(e);</SPAN></DIV>
<DIV style="TEXT-INDENT: 13.5pt"><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 21pt">用反编译工具仔细研究了MF底层库代码（.Net FrameWork 太庞大了，一个人绝对短时间内看不完，其实也很难看下去，但是对刚刚起步的MF来说，.Net Micro FrameWork就简单多了），终于理清了头绪。主要原理是在鼠标信息处理线程中通过<SPAN style="COLOR: #2b91af">Application</SPAN>.Current.Windows 属性（该属性存放了当前实例所有派生于<SPAN>Window类的窗体）和应用实例的<SPAN style="COLOR: blue">this</SPAN>.Dispatcher属性的BeginInvoke方法，外部调用窗体鼠标事件函数。充分利用基类虚函数的妙处来实现类似按键信息处理的功能。</SPAN></DIV>
<DIV style="TEXT-INDENT: 21pt">在<SPAN>YFWindowBase类中声明如下虚拟鼠标事件函数。</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: green">//</SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">鼠标移动</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">virtual</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMouseMove(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (MouseMove != <SPAN style="COLOR: blue">null</SPAN>) MouseMove(sender, e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">鼠标单击</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">virtual</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMouseClick(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (MouseClick != <SPAN style="COLOR: blue">null</SPAN>) MouseClick(sender, e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按下</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">virtual</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMouseDown(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV style="TEXT-INDENT: 4.5pt" align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (MouseDown != <SPAN style="COLOR: blue">null</SPAN>) MouseDown(sender, e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">抬起</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">virtual</SPAN> <SPAN style="COLOR: blue">void</SPAN> OnMouseUp(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (MouseUp != <SPAN style="COLOR: blue">null</SPAN>) MouseUp(sender, e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 15.75pt">&nbsp;</DIV>
<DIV style="TEXT-INDENT: 15.75pt">在鼠标信息处理函数中执行如下的代码即可。</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">处理鼠标消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">private</SPAN> <SPAN style="COLOR: blue">static</SPAN> <SPAN style="COLOR: blue">void</SPAN> TransactMouse(<SPAN style="COLOR: #2b91af">MouseState</SPAN> state, <SPAN style="COLOR: blue">int</SPAN> x, <SPAN style="COLOR: blue">int</SPAN> y, <SPAN style="COLOR: #2b91af">MouseButtons</SPAN> button)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (<SPAN style="COLOR: #2b91af">Application</SPAN>.Current == <SPAN style="COLOR: blue">null</SPAN>) <SPAN style="COLOR: blue">return</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">for</SPAN> (<SPAN style="COLOR: blue">int</SPAN> i = <SPAN style="COLOR: #2b91af">Application</SPAN>.Current.Windows.Count - 1; i &gt;= 0; i--)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">try</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFWindowBase</SPAN> mw = <SPAN style="COLOR: #2b91af">Application</SPAN>.Current.Windows[i] <SPAN style="COLOR: blue">as</SPAN> <SPAN style="COLOR: #2b91af">YFWindowBase</SPAN>;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (mw.Enabled &amp;&amp; mw.IsVisible)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">判断子窗体</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">bool</SPAN> bReturn = <SPAN style="COLOR: blue">false</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">for</SPAN> (<SPAN style="COLOR: blue">int</SPAN> j = mw.Children.Count - 1; j &gt;= 0; j--)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">仅最上层并且可视的控件接收鼠标消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFControl</SPAN> cl = mw.Children[j];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (!bReturn &amp;&amp; cl.Visible &amp;&amp; IsRectContains(x, y, mw.Left + cl.Left, mw.Top + cl.Top, cl.Width, cl.Height))</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (cl.Enable)&nbsp;<SPAN style="COLOR: green">//Enable</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">和Visible不一样，Enable即使无效，下层控件也没有机会获得鼠标消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">if</SPAN> (!cl._EnterFlag)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cl._EnterFlag = <SPAN style="COLOR: blue">true</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(cl.OnMouseEnter), cl, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - cl.Left - mw.Left, y - cl.Top - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Move) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(cl.OnMouseMove), cl, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - cl.Left - mw.Left, y - cl.Top - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Down) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(cl.OnMouseDown), cl, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - cl.Left - mw.Left, y - cl.Top - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Up) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(cl.OnMouseUp), cl, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - cl.Left - mw.Left, y - cl.Top - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Click) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(cl.OnMouseClick), cl, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - cl.Left - mw.Left, y - cl.Top - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">向主窗体传OnMouseEvent消息，为了绘制鼠标</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Event) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(mw.OnMouseEvent), mw, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - mw.Left, y - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bReturn = <SPAN style="COLOR: blue">true</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">else</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (cl._EnterFlag)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cl._EnterFlag = <SPAN style="COLOR: blue">false</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(cl.OnMouseLeave), cl, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - cl.Left, y - cl.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (bReturn) <SPAN style="COLOR: blue">return</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">仅最上层并且可视的窗体接收鼠标消息</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (mw.IsVisible &amp;&amp; IsRectContains(x, y, mw.Left, mw.Top, mw.Width, mw.Height))</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (!mw.Enabled) <SPAN style="COLOR: blue">return</SPAN>;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Move) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(mw.OnMouseMove), mw, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - mw.Left, y - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Down) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;_dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(mw.OnMouseDown), mw, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - mw.Left, y - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Up) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(mw.OnMouseUp), mw, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - mw.Left, y - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Click) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(mw.OnMouseClick), mw, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - mw.Left, y - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> ((state &amp; <SPAN style="COLOR: #2b91af">MouseState</SPAN>.Event) &gt; 0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _dispatcher.BeginInvoke(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(mw.OnMouseEvent), mw, <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN>(button, x - mw.Left, y - mw.Top));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">return</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">catch</SPAN> (<SPAN style="COLOR: #2b91af">Exception</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">throw</SPAN> <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">Exception</SPAN>(e.Message.ToString(), e);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 13.5pt"><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 13.5pt"><SPAN style="FONT-SIZE: 9pt">&nbsp;</SPAN>&nbsp;用户程序的窗体类只要派生于YFWindowBase类，就可以直接支持鼠标和按键功能了。用户代码如下：</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">主窗体</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">internal</SPAN> <SPAN style="COLOR: blue">sealed</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: #2b91af">MFWindow</SPAN> :<SPAN style="COLOR: #2b91af">YFWindowBase</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: #2b91af">YFLabel</SPAN> label1;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFButton</SPAN> button1, button2, button3, button4, button5;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> MFWindow()</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">标签</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label1 = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFLabel</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">就绪"</SPAN><SPAN style="FONT-SIZE: 9pt">, 0, Height - 25, Width, 25);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;label1.TextAlign = <SPAN style="COLOR: #2b91af">TextAlignment</SPAN>.Left;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label1.BackColor = <SPAN style="COLOR: #2b91af">ColorUtility</SPAN>.ColorFromRGB(189, 235, 255);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; label1.BorderStyle = <SPAN style="COLOR: #2b91af">BorderStyle</SPAN>.FixedSingle;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">添加按钮</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button1 = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">触摸屏校准"</SPAN><SPAN style="FONT-SIZE: 9pt">, 30, 35, 90, 40);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button1.MouseClick += <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(button_MouseClick);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button2 = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">计算器"</SPAN><SPAN style="FONT-SIZE: 9pt">,200, 35, 90, 40);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button2.MouseClick += <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(button_MouseClick);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button3 = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">简易记事本"</SPAN><SPAN style="FONT-SIZE: 9pt">, 30, 135, 90, 40);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button3.MouseClick += <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(button_MouseClick);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button4 = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">关于..."</SPAN><SPAN style="FONT-SIZE: 9pt">, 200, 135, 90, 40);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button4.MouseClick += <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(button_MouseClick);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;button5 = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">主菜单"</SPAN><SPAN style="FONT-SIZE: 9pt">, 125, 85, 70, 40);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button5.MouseClick += <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(button_MouseClick);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(button1);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(button2);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(button3);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(button4);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(button5);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(label1);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button3.Enable = <SPAN style="COLOR: blue">false</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//button3.Visible = false;</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">设置菜单</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">触摸屏校准"</SPAN><SPAN style="FONT-SIZE: 9pt">));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"-"</SPAN>));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">计算器"</SPAN><SPAN style="FONT-SIZE: 9pt">));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">简易记事本"</SPAN><SPAN style="FONT-SIZE: 9pt">));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"-"</SPAN>));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu.AddItem(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuItem</SPAN>(<SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">关于..."</SPAN><SPAN style="FONT-SIZE: 9pt">));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Menu[3].Enabled = <SPAN style="COLOR: blue">false</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: green">//Menu[3].Visible = false;</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按钮事件</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">void</SPAN> button_MouseClick(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFButton</SPAN> button=((<SPAN style="COLOR: #2b91af">YFButton</SPAN>)sender);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">switch</SPAN> (button.Text)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">case</SPAN> <SPAN style="COLOR: #a31515">"</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: #a31515">主菜单"</SPAN><SPAN style="FONT-SIZE: 9pt">:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">弹出菜单</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.Menu.Show();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">default</SPAN>:</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnMenuClick(<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MenuEventArgs</SPAN>(0, button.Text));</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">break</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>运行后的界面如下：</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>&nbsp;</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012501.jpg"></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>图<SPAN>1：主界面（按钮即支持鼠标也可以用按键切换输入焦点（right键等同于PC平台上的Tab键），并用OK键触发按键事件）</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012502.jpg"></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>图<SPAN>2：单击主菜单按钮或单击“Menu</SPAN>”就可以弹出主菜单</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>&nbsp;</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012509.jpg"></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>图<SPAN>3：不要小看了上图的蓝色小圆，是我费了好大劲才绘制出来的（目前MF仅支持矩形框的填充）。</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">private</SPAN><SPAN style="FONT-SIZE: 9pt"> <SPAN style="COLOR: blue">void</SPAN> DrawCircle(<SPAN style="COLOR: #2b91af">Color</SPAN> c,<SPAN style="COLOR: blue">int</SPAN> x, <SPAN style="COLOR: blue">int</SPAN> y, <SPAN style="COLOR: blue">int</SPAN> r, <SPAN style="COLOR: #2b91af">DrawingContext</SPAN> dc)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">Pen</SPAN>&nbsp;p=<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">Pen</SPAN>(c);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">SolidColorBrush</SPAN> b = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">SolidColorBrush</SPAN>(c);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">int</SPAN> Offset45=(<SPAN style="COLOR: blue">int</SPAN>)(0.707*r);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">int</SPAN> Offset30 = r / 2;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">int</SPAN> Offset60 = (<SPAN style="COLOR: blue">int</SPAN>)(0.866 * r);</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">for</SPAN> (<SPAN style="COLOR: blue">int</SPAN> i = Offset45; i &lt; r + 1; i++)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawEllipse(<SPAN style="COLOR: blue">null</SPAN>, p, x, y, i, i);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawRectangle(b, <SPAN style="COLOR: blue">null</SPAN>, x - Offset45, y - Offset45,Offset45*2, Offset45*2);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawRectangle(b, <SPAN style="COLOR: blue">null</SPAN>, x - Offset60, y - Offset30, Offset60 * 2, Offset30 * 2);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawRectangle(b, <SPAN style="COLOR: blue">null</SPAN>, x - Offset30, y - Offset60, Offset30 * 2, Offset60 * 2);</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawLine(p, x - Offset60, y - Offset30, x - Offset30, y - Offset60);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawLine(p, x+ Offset60 , y + Offset30, x + Offset30 ,y + Offset60 );</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawLine(p, x - Offset60, y + Offset30, x - Offset30 , y + Offset60);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dc.DrawLine(p, x + Offset60, y - Offset30, x + Offset30, y - Offset60);</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>&nbsp;</DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>&nbsp;<IMG alt="" src="https://p.blog.csdn.net/images/p_blog_csdn_net/yefanqiu/MF08012508.jpg"></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>图<SPAN>5：终于在MF上实现了计算器的功能，目前不仅支持鼠标，也可以用光标键和OK键进行输入计算了。</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN></SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>别小看了计算器程序，由于<SPAN>MF仅有数字转字符串功能，没有实现字符串转数字的功能，我自己自定义了一些函数，用了一些特殊的用法才编写完成。</SPAN></DIV>
<DIV style="TEXT-INDENT: 36.75pt" align=left>//数字输入的部分代码</DIV>
<DIV style="TEXT-INDENT: 31.5pt" align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">if</SPAN><SPAN style="FONT-SIZE: 9pt"> (strInput == <SPAN style="COLOR: #a31515">"0."</SPAN>) dblInput = 0;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (strInput != <SPAN style="COLOR: #a31515">"0."</SPAN>)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strInput += b.Text;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (strInput.IndexOf(<SPAN style="COLOR: #a31515">'.'</SPAN>)&lt;1)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dblInput *= 10;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dblInput += ToDouble(b.Text);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">else</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">int</SPAN> index = strInput.Length - strInput.LastIndexOf(<SPAN style="COLOR: #a31515">'.'</SPAN>) - 1;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dblInput += ToDouble(b.Text) /System.<SPAN style="COLOR: #2b91af">Math</SPAN>.Pow(10,index);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">else</SPAN> <SPAN style="COLOR: blue">if</SPAN> (b.Text != <SPAN style="COLOR: #a31515">"0"</SPAN>)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strInput = b.Text;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dblInput = ToDouble(b.Text);</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp; </SPAN>下面是窗体的界面搭建部分，你绝对想不到用这么短的代码就实现了上图的界面布局（看过我以前<SPAN>.Net Micro Framework研究的网友，应该对MF本身提供的控件有印象，正是因为系统的控件不好用，我专门重新写了一套MF控件类）。</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp; &nbsp;<SPAN style="COLOR: #2b91af">YFButton</SPAN>[] button=<SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>[20];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">YFLabel</SPAN> lblInput = <SPAN style="COLOR: blue">null</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">string</SPAN>[] strText = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: blue">string</SPAN>[] { <SPAN style="COLOR: #a31515">"7"</SPAN>, <SPAN style="COLOR: #a31515">"8"</SPAN>, <SPAN style="COLOR: #a31515">"9"</SPAN>, <SPAN style="COLOR: #a31515">"/"</SPAN>, <SPAN style="COLOR: #a31515">"CE"</SPAN>, <SPAN style="COLOR: #a31515">"4"</SPAN>, <SPAN style="COLOR: #a31515">"5"</SPAN>, <SPAN style="COLOR: #a31515">"6"</SPAN>, <SPAN style="COLOR: #a31515">"*"</SPAN>, <SPAN style="COLOR: #a31515">"%"</SPAN>, <SPAN style="COLOR: #a31515">"1"</SPAN>, <SPAN style="COLOR: #a31515">"2"</SPAN>, <SPAN style="COLOR: #a31515">"3"</SPAN>, <SPAN style="COLOR: #a31515">"-"</SPAN>, <SPAN style="COLOR: #a31515">"1/x"</SPAN>, <SPAN style="COLOR: #a31515">"0"</SPAN>, <SPAN style="COLOR: #a31515">"+/-"</SPAN>, <SPAN style="COLOR: #a31515">"."</SPAN>, <SPAN style="COLOR: #a31515">"+"</SPAN>, <SPAN style="COLOR: #a31515">"="</SPAN> };</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> YFCalc(<SPAN style="COLOR: blue">string</SPAN> Title,<SPAN style="COLOR: blue">int</SPAN> Width,<SPAN style="COLOR: blue">int</SPAN> Height,<SPAN style="COLOR: #2b91af">YFWindowBase</SPAN> Parent)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : <SPAN style="COLOR: blue">base</SPAN>(Title, Width, Height, Parent)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">int</SPAN> x=ClientRect.X,y=ClientRect.Y;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lblInput = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFLabel</SPAN>(<SPAN style="COLOR: #a31515">"0."</SPAN>, x + 5, y + 5, ClientRect.Width - 10, 20);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lblInput.TextAlign = <SPAN style="COLOR: #2b91af">TextAlignment</SPAN>.Right;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(lblInput); </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">for</SPAN> (<SPAN style="COLOR: blue">int</SPAN> i = 0; i &lt; 20; i++)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;{</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN>(i % 5==0 &amp;&amp; i!=0)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = ClientRect.X;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; y = y + 32;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button[i] = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">YFButton</SPAN>(<SPAN style="COLOR: #a31515">""</SPAN>, x + 5, y + 32, 32, 28);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button[i].Text = strText[i];</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; button[i].MouseClick += <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">MouseInputEventHandler</SPAN>(button_MouseClick); </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x += 37;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Children.Add(button[i]); </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">按钮单击</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">void</SPAN> button_MouseClick(<SPAN style="COLOR: blue">object</SPAN> sender, <SPAN style="COLOR: #2b91af">MouseEventArgs</SPAN> e)</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt">{</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left><SPAN style="FONT-SIZE: 9pt">}</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>其实这段时间以来，我一直在研究<SPAN>MF，虽然目前它还不是很成熟，但是随着研究的深入，越来越对它痴迷，越来越发现很多MF的宝藏（如果你有耐心的话，一定要看看MF底层框架的源码（通过反编译工具Reflector），你会发现很多很有意思的功能）。</SPAN></DIV>
<DIV style="TEXT-INDENT: 18pt" align=left>MF相对于<SPAN>Windows XP/Vista、Windows CE而言，还只能算一个婴孩，但就是这样，就如一个伟人所说：孩子就是未来的希望。所以有理由相信MF的明天会更好。</SPAN></DIV>&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>20, .Net Micro Framework研究—数据的永久存储</title>
      <link>https://docs.microsoft.com/archive/blogs/yunxu/20-net-micro-framework</link>
      <pubDate>Tue, 24 Jun 2008 01:59:00 GMT</pubDate>
      <dc:creator><![CDATA[yunxu]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/yunxu/2008/06/24/20-net-micro-framework/</guid>
      <description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者: 刘洪峰
&nbsp;
.Net Micro...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" minmax_bound="true"><FONT size=3 minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'" minmax_bound="true"><IMG id=photo height=100 src="https://mvp.support.microsoft.com/profile/MvpPhoto.aspx?ID=BC168B93-C642-4EE1-9E80-3F0A9735407E&amp;ln=zh-cn" width=78 minmax_bound="true" mce_src="https://mvp.support.microsoft.com/profile/MvpPhoto.aspx?ID=BC168B93-C642-4EE1-9E80-3F0A9735407E&amp;ln=zh-cn"> </P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt; mso-char-indent-count: 2.0" minmax_bound="true">
<TABLE class="" cellSpacing=0 cellPadding=0 minmax_bound="true">
<TBODY minmax_bound="true">
<TR minmax_bound="true">
<TD class=bioLabel class="bioLabel" minmax_bound="true">
<P minmax_bound="true">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 作者: 刘洪峰</P></TD></TR></TBODY></TABLE></SPAN></SPAN></SPAN></FONT></P>
<P mce_keep="true">&nbsp;</P>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 21pt" align=left>.Net Micro Framework不支持文件系统（目前该项功能正在研发之中），所以无法像Windows和windows ce平台那样把需要永久保存的数据保存到文件之中。内存中保存的数据只要系统一掉电，所有的数据也都消失了，这对一些需要保存参数的应用来说真是不妙。</DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 21pt" align=left>这几天在研究MF触摸屏功能时就遇到该问题，因为触摸屏校准之后，需要保存校准后的参数，否则MF一重启，难道还需要重新校准不成？</DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 15.75pt" align=left>&nbsp;感谢Donald Thompson 和 Rob S. Miles，从他们的大作上找到了问题的解决办法。办法就是把对象保存到Flash(EEPROM)中（有点像对象的二进制序列化）。</DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 21pt" align=left>下面是我整理的示例代码（实现比较简单，但总觉得不太正规，不知道能存多大，也搞不清楚数据到底存放在什么位置了。）：</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">using</SPAN><SPAN style="FONT-SIZE: 9pt"> System;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">using</SPAN><SPAN style="FONT-SIZE: 9pt"> Microsoft.SPOT;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">using</SPAN><SPAN style="FONT-SIZE: 9pt"> System.Collections;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">using</SPAN><SPAN style="FONT-SIZE: 9pt"> System.Threading;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt; COLOR: blue">namespace</SPAN><SPAN style="FONT-SIZE: 9pt"> DataStorage</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">{</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: #2b91af">Program</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">static</SPAN> <SPAN style="COLOR: blue">void</SPAN> Main()</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">FlashDatas</SPAN> fd = <SPAN style="COLOR: #2b91af">FlashDatas</SPAN>.Load();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fd.dump();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fd.Flag = <SPAN style="COLOR: #a31515">"adfg"</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//fd.Items.Clear();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//fd.AddItem(new FlashData(55, "1aaa"));</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//fd.AddItem(new FlashData(66, "2bbb"));</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//fd.AddItem(new FlashData(77, "3ccc"));</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//fd.AddItem(new FlashData(88, "4ddd"));</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fd.Save();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">Thread</SPAN>.Sleep(3000);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<SPAN style="COLOR: #2b91af">Serializable</SPAN>]</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">private</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: #2b91af">FlashData</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: #2b91af">DateTime</SPAN> date;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">int</SPAN> iData;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">string</SPAN> sData;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> FlashData(<SPAN style="COLOR: blue">int</SPAN> iData, <SPAN style="COLOR: blue">string</SPAN> sData)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; date = <SPAN style="COLOR: #2b91af">DateTime</SPAN>.Now;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: blue">this</SPAN>.iData = iData;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">this</SPAN>.sData = sData;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">override</SPAN> <SPAN style="COLOR: blue">string</SPAN> ToString()</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">return</SPAN> date.ToString() + <SPAN style="COLOR: #a31515">" "</SPAN> + iData.ToString() + <SPAN style="COLOR: #a31515">" "</SPAN> + sData; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;[<SPAN style="COLOR: #2b91af">Serializable</SPAN>]</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">private</SPAN> <SPAN style="COLOR: blue">class</SPAN> <SPAN style="COLOR: #2b91af">FlashDatas</SPAN></SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: #2b91af">DateTime</SPAN> CreateTime = <SPAN style="COLOR: #2b91af">DateTime</SPAN>.Now;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">string</SPAN> Flag = @<SPAN style="COLOR: #a31515">"https://blog.csdn.net/yefanqiu/"</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: #2b91af">ArrayList</SPAN> Items = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">ArrayList</SPAN>();</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">void</SPAN> dump()</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">Debug</SPAN>.Print(CreateTime.ToString());</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">Debug</SPAN>.Print(Flag); </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">foreach</SPAN> (<SPAN style="COLOR: #2b91af">FlashData</SPAN> Item <SPAN style="COLOR: blue">in</SPAN> Items)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (Item != <SPAN style="COLOR: blue">null</SPAN>)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #2b91af">Debug</SPAN>.Print(Item.ToString());</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">void</SPAN> AddItem(<SPAN style="COLOR: #2b91af">FlashData</SPAN> Item)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Items.Add(Item);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">调入数据</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">static</SPAN> <SPAN style="COLOR: #2b91af">FlashDatas</SPAN> Load()</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN> ewr = <SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN>.RecoverOrCreate(</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">typeof</SPAN>(<SPAN style="COLOR: #2b91af">FlashDatas</SPAN>),&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">类型，任意类都可以，其名称起到一个索引作用</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: green">//ID</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">号，这个数据比较有用，不同ID号代表不同数据</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN>.c_SurvivePowerdown);<SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">该标志和.c_SurviveBoot 区别不大</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ewr.Priority = (<SPAN style="COLOR: #2b91af">Int32</SPAN>)<SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN>.<SPAN style="COLOR: #2b91af">PriorityLevel</SPAN>.Important;</SPAN></DIV>
<DIV align=left>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: #2b91af">FlashDatas</SPAN> data = ewr.Target <SPAN style="COLOR: blue">as</SPAN> <SPAN style="COLOR: #2b91af">FlashDatas</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">if</SPAN> (data == <SPAN style="COLOR: blue">null</SPAN>)</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data = <SPAN style="COLOR: blue">new</SPAN> <SPAN style="COLOR: #2b91af">FlashDatas</SPAN>();</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">return</SPAN> data;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt"></SPAN>&nbsp;</DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: green">//</SPAN></SPAN><SPAN style="FONT-SIZE: 9pt; COLOR: green">保存数据</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <SPAN style="COLOR: blue">public</SPAN> <SPAN style="COLOR: blue">void</SPAN> Save()</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN> ewr = <SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN>.RecoverOrCreate(<SPAN style="COLOR: blue">typeof</SPAN>(<SPAN style="COLOR: #2b91af">FlashDatas</SPAN>), 0, <SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN>.c_SurvivePowerdown);</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ewr.Priority = (<SPAN style="COLOR: #2b91af">Int32</SPAN>)<SPAN style="COLOR: #2b91af">ExtendedWeakReference</SPAN>.<SPAN style="COLOR: #2b91af">PriorityLevel</SPAN>.Important;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ewr.Target = <SPAN style="COLOR: blue">this</SPAN>;</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV align=left><SPAN style="FONT-SIZE: 9pt">&nbsp;&nbsp;&nbsp; }</SPAN></DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 13.5pt" align=left><SPAN style="FONT-SIZE: 9pt">}</SPAN></DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 15.75pt" align=left>以上代码在<SPAN>Digi开发板上测试成功，断电之后，再上电，保存的数据确实没有丢失。</SPAN></DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt; TEXT-INDENT: 15.75pt" align=left><SPAN style="COLOR: black">MSDN</SPAN><SPAN style="COLOR: black">中相关函数的说明如下：</SPAN></DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt" align=left><STRONG><SPAN style="FONT-SIZE: 11.5pt; COLOR: #003399">ExtendedWeakReference Members</SPAN></STRONG></DIV>
<DIV style="MARGIN-BOTTOM: 7.2pt" align=left><SPAN style="FONT-SIZE: 8.5pt; COLOR: black">The following tables list the members exposed by the ExtendedWeakReference type.</SPAN></DIV>
<DIV style="MARGIN: 13.5pt 0cm 6pt" align=left><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: #003399">Public Constructors</SPAN></STRONG></DIV>
<P>
<TABLE class="" style="BACKGROUND: white; WIDTH: 98%" cellPadding=0 width="98%" border=0>
<TBODY>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG></STRONG>&nbsp;</DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Name</SPAN></STRONG></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Description</SPAN></STRONG></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ctor_ExtendedWeakReference_SPOT_Microsoft_M.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Initializes a new instance of the <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> class, referencing a specified object.</SPAN></DIV></TD></TR></TBODY></TABLE></P>
<DIV style="MARGIN: 13.5pt 0cm 6pt" align=left><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: #003399">Public Fields</SPAN></STRONG></DIV>
<P>
<TABLE class="" style="BACKGROUND: white; WIDTH: 98%" cellPadding=0 width="98%" border=0>
<TBODY>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG></STRONG>&nbsp;</DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Name</SPAN></STRONG></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Description</SPAN></STRONG></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">&nbsp; </SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/SurviveBoot_c_ExtendedWeakReference_SPOT_Microsoft_F.htm"><FONT color=#6fbc4c>c_SurviveBoot</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Contains a flag specifying that the current weak reference will be recoverable after the device reboots.</SPAN></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">&nbsp; </SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/SurvivePowerdown_c_ExtendedWeakReference_SPOT_Microsoft_F.htm"><FONT color=#6fbc4c>c_SurvivePowerdown</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Contains a flag specifying that the current weak reference will be recoverable after the device powers down and restarts.</SPAN></DIV></TD></TR></TBODY></TABLE></P>
<DIV style="MARGIN: 13.5pt 0cm 6pt" align=left><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: #003399">Public Properties</SPAN></STRONG></DIV>
<P>
<TABLE class="" style="BACKGROUND: white; WIDTH: 98%" cellPadding=0 width="98%" border=0>
<TBODY>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG></STRONG>&nbsp;</DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Name</SPAN></STRONG></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Description</SPAN></STRONG></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/Flags_ExtendedWeakReference_SPOT_Microsoft_P.htm"><FONT color=#6fbc4c>Flags</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Gets the flags specifying the states from which the current weak reference should be recoverable.</SPAN></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/Id_ExtendedWeakReference_SPOT_Microsoft_P.htm"><FONT color=#6fbc4c>Id</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Gets the ID associated with the current <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> object.</SPAN></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/Priority_ExtendedWeakReference_SPOT_Microsoft_P.htm"><FONT color=#6fbc4c>Priority</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Gets or sets the priority level for the current <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> object. </SPAN></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/Selector_ExtendedWeakReference_SPOT_Microsoft_P.htm"><FONT color=#6fbc4c>Selector</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Gets the selector for the current <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> object.</SPAN></DIV></TD></TR></TBODY></TABLE></P>
<DIV style="MARGIN: 13.5pt 0cm 6pt" align=left><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: #003399">Public Methods</SPAN></STRONG></DIV>
<P>
<TABLE class="" style="BACKGROUND: white; WIDTH: 98%" cellPadding=0 width="98%" border=0>
<TBODY>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG></STRONG>&nbsp;</DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Name</SPAN></STRONG></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 4.5pt; BORDER-TOP: medium none; PADDING-LEFT: 4.5pt; BACKGROUND: #efeff7; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #c8cdde 1pt solid" vAlign=bottom>
<DIV style="MARGIN: 3.75pt 0cm" align=left><STRONG><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Description</SPAN></STRONG></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/PushBackIntoRecoverList_ExtendedWeakReference_SPOT_Microsoft_M.htm"><FONT color=#6fbc4c>PushBackIntoRecoverList</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Flags an <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> object as a candidate for recovery after the device reboots or powers down and restarts.</SPAN></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">&nbsp; </SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/Recover_ExtendedWeakReference_SPOT_Microsoft_M.htm"><FONT color=#6fbc4c>Recover</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Recovers a specific <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> object.</SPAN></DIV></TD></TR>
<TR>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">&nbsp; </SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black"><A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/RecoverOrCreate_ExtendedWeakReference_SPOT_Microsoft_M.htm"><FONT color=#6fbc4c>RecoverOrCreate</FONT></A></SPAN></DIV></TD>
<TD class="" style="BORDER-RIGHT: medium none; PADDING-RIGHT: 3.75pt; BORDER-TOP: medium none; PADDING-LEFT: 3.75pt; BACKGROUND: #f7f7ff; PADDING-BOTTOM: 3.75pt; BORDER-LEFT: medium none; PADDING-TOP: 3.75pt; BORDER-BOTTOM: #d5d5d3 1pt solid" vAlign=top>
<DIV style="MARGIN: 3.75pt 0cm" align=left><SPAN style="FONT-SIZE: 9.5pt; COLOR: black">Attempts to recover a specific <A href="ms-help://MS.VSCC.v80/MS.VSIPCC.v80/MSVS.PSDK/PSDK/ExtendedWeakReference_SPOT_Microsoft_T.htm"><FONT color=#6fbc4c>ExtendedWeakReference</FONT></A> object, and creates a new instance of this class if the recovery attempt fails.</SPAN></DIV></TD></TR></TBODY></TABLE></P>]]></content:encoded>
    </item>
  </channel>
</rss>