<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_eping的网络日志</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/52482/rss</id><updated>2010-12-24T04:42:54Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/52482/rss"/><entry><id>http://www.cnblogs.com/eping/archive/2010/09/01/1814496.html</id><title type="text">[作品]SWF文件Tag解析器</title><summary type="text">程序下载/Files/eping/swfParserexe.rar</summary><published>2010-09-01T02:19:00Z</published><updated>2010-09-01T02:19:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/09/01/1814496.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/09/01/1814496.html"/><content type="html">&lt;p&gt;&lt;a href="http://files.cnblogs.com/eping/SwfParser.rar"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="swfparser" border="0" alt="swfparser" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/SWFTag_9124/swfparser_thumb.jpg" width="584" height="399" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;程序下载&lt;a href="http://files.cnblogs.com/eping/swfParserexe.rar"&gt;/Files/eping/swfParserexe.rar&lt;/a&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1814496.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/09/01/1814496.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/08/26/1808862.html</id><title type="text">【转】Big-Endian 和Little-Endian</title><summary type="text">今天在看微软关于fat格式的白皮书的时候看到了一个名词:Little-Endian  什么是Big?什么是Little?要理解这个问题,必须要知道数据在机器中存储的规则.....  &amp;#160;&amp;#160;&amp;#160; 所谓的Little-Endian,就是我们在学习汇编时候的高高低低原则,而Bit-Endian就是刚刚相反,例如:12345678h这个数据,在不同机器中存储是不同的 助解&amp;#16...</summary><published>2010-08-26T02:57:00Z</published><updated>2010-08-26T02:57:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/08/26/1808862.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/08/26/1808862.html"/><content type="html">&lt;p&gt;今天在看微软关于fat格式的白皮书的时候看到了一个名词:Little-Endian&lt;/p&gt;  &lt;p&gt;什么是Big?什么是Little?要理解这个问题,必须要知道数据在机器中存储的规则.....&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; 所谓的Little-Endian,就是我们在学习汇编时候的高高低低原则,而Bit-Endian就是刚刚相反,例如:12345678h这个数据,在不同机器中存储是不同的&lt;/p&gt;  &lt;p&gt;助解&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [从大(高位)放到小(低位)]&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [从小(低位)放到大(高位)]&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Big-Endian&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Little-Endian&lt;/p&gt;  &lt;p&gt;0字节&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 12h&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 78h&lt;/p&gt;  &lt;p&gt;1字节&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 34h&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 56h&lt;/p&gt;  &lt;p&gt;2字节&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 56h&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 34h&lt;/p&gt;  &lt;p&gt;3字节&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 78h&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 12h&lt;/p&gt;  &lt;p&gt;Little-Endian主要用在我们现在的PC的CPU中,Big-Endian则应用在目前的Mac机器中(注意:是指Power系列 处理器)&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1808862.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/08/26/1808862.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/08/19/1803819.html</id><title type="text">OpenType specification</title><summary type="text">【由来】今天解析swf文件DefineFont4时发现了FONTDATA结构，搜篇了swf_file_format_spec_v10也没有这个结构体，一看Comment原来是个OpenType，在http://www.microsoft.com/typography/otspec/里定义，不过貌似直接无法访问，只能ZYM代理。也可以参照adobe官方文档http://www.adobe.com/t...</summary><published>2010-08-19T10:47:00Z</published><updated>2010-08-19T10:47:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/08/19/1803819.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/08/19/1803819.html"/><content type="html">&lt;p&gt;【由来】今天解析swf文件DefineFont4时发现了FONTDATA结构，搜篇了swf_file_format_spec_v10也没有这个结构体，一看Comment原来是个OpenType，在&lt;a href="http://www.microsoft.com/typography/otspec/"&gt;http://www.microsoft.com/typography/otspec/&lt;/a&gt;里定义，不过貌似直接无法访问，只能ZYM代理。也可以参照adobe官方文档&lt;a title="http://www.adobe.com/type/opentype/" href="http://www.adobe.com/type/opentype/"&gt;http://www.adobe.com/type/opentype/&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1803819.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/08/19/1803819.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/07/03/1770407.html</id><title type="text">SetErrorMode Function</title><summary type="text">Controls whether the system will handle the specified types of serious errors or whether the process will handle them.  系统或者进程是否处理指定类型错误  UINT WINAPI SetErrorMode( &amp;#160; __in&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;...</summary><published>2010-07-03T04:09:00Z</published><updated>2010-07-03T04:09:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/07/03/1770407.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/07/03/1770407.html"/><content type="html">&lt;p&gt;Controls whether the system will handle the specified types of serious errors or whether the process will handle them.&lt;/p&gt;  &lt;p&gt;系统或者进程是否处理指定类型错误&lt;/p&gt;  &lt;p&gt;UINT WINAPI SetErrorMode(   &lt;br /&gt;&amp;#160; __in&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; UINT &lt;i&gt;&lt;a href="ms-help://ms.msdnqtr.v90.chs/"&gt;uMode&lt;/a&gt;&lt;/i&gt;    &lt;br /&gt;);    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Parameters&lt;/strong&gt;&lt;/p&gt; &lt;dl&gt;&lt;dt&gt;&lt;i&gt;uMode&lt;/i&gt;&lt;/dt&gt;&lt;dd&gt;     &lt;p&gt;The process error mode. This parameter can be one or more of the following values.&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;进程错误模式，参数值可以是以下一个或多个值&lt;/p&gt;      &lt;p&gt;Value       &lt;br /&gt;Meaning&lt;/p&gt;      &lt;p&gt;0&lt;/p&gt;      &lt;p&gt;Use the system default, which is to display all error dialog boxes.使用系统用默认有的全球错误对话框显示&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;      &lt;p&gt;SEM_FAILCRITICALERRORS       &lt;br /&gt;0x0001&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;The system does not display the critical-error-handler message box. Instead, the system sends the error to the calling process.&lt;/p&gt;      &lt;p&gt;系统不显示critical-error-handler 消息对话框，只是把错误信息发到调用进程&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;SEM_NOALIGNMENTFAULTEXCEPT&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;0x0004&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;The system automatically fixes memory alignment faults and makes them invisible to the application. It does this for the calling process and any descendant processes. This feature is only supported by certain processor architectures. For more information, see the Remarks section. &lt;/p&gt;      &lt;p&gt;After this value is set for a process, subsequent attempts to clear the value are ignored.&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;系统自动处理内存队列中的错误，对应用程序来说是不可见的。&lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;SEM_NOGPFAULTERRORBOX&lt;/p&gt; &lt;dl&gt;&lt;dd&gt;     &lt;p&gt;0x0002&lt;/p&gt;      &lt;p&gt;The system does not display the general-protection-fault message box. This flag should only be set by debugging applications that handle general protection (GP) faults themselves with an exception handler.&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;系统不显示 一般默认的消息对话框。 &lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;SEM_NOOPENFILEERRORBOX&lt;/p&gt;   &lt;/dd&gt;&lt;dd&gt;     &lt;p&gt;0x8000&lt;/p&gt;      &lt;p&gt;The system does not display a message box when it fails to find a file. Instead, the error is returned to the calling process.&lt;/p&gt;   &lt;/dd&gt;&lt;/dl&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1770407.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/07/03/1770407.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/06/23/1763344.html</id><title type="text">windows版SVN下载</title><summary type="text">http://cdnetworks-kr-1.dl.sourceforge.net/project/tortoisesvn/Application/1.6.9/TortoiseSVN-1.6.9.19725-win32-svn-1.6.12.msi</summary><published>2010-06-23T02:33:00Z</published><updated>2010-06-23T02:33:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/06/23/1763344.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/06/23/1763344.html"/><content type="html">&lt;p&gt;&lt;a title="http://cdnetworks-kr-1.dl.sourceforge.net/project/tortoisesvn/Application/1.6.9/TortoiseSVN-1.6.9.19725-win32-svn-1.6.12.msi" href="http://cdnetworks-kr-1.dl.sourceforge.net/project/tortoisesvn/Application/1.6.9/TortoiseSVN-1.6.9.19725-win32-svn-1.6.12.msi"&gt;http://cdnetworks-kr-1.dl.sourceforge.net/project/tortoisesvn/Application/1.6.9/TortoiseSVN-1.6.9.19725-win32-svn-1.6.12.msi&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1763344.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/06/23/1763344.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/05/23/1742201.html</id><title type="text">Microsoft Speech SDK 编程入门</title><summary type="text">作者：eping email:eping@eping.net  TTS(Text-To-Speech,文本语音转换)顾名思义，将文本转找成语音进行输出。目前TTS技术已相对比较成熟，TTS引擎也比较多，比较有名的有Microsoft Speech SDK 和IBM的ViaVoice还有开源的Festival等。至于他们的优劣本人不做评价也未曾做考究，因毕计原因要使用TTS引擎，考虑到开发平台及工具...</summary><published>2010-05-23T12:04:00Z</published><updated>2010-05-23T12:04:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/05/23/1742201.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/05/23/1742201.html"/><content type="html">&lt;p&gt;&lt;font size="4"&gt;作者：eping      &lt;br /&gt;email:eping@eping.net&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;TTS(Text-To-Speech,文本语音转换)顾名思义，将文本转找成语音进行输出。目前TTS技术已相对比较成熟，TTS引擎也比较多，比较有名的有Microsoft Speech SDK 和IBM的ViaVoice还有开源的Festival等。至于他们的优劣本人不做评价也未曾做考究，因毕计原因要使用TTS引擎，考虑到开发平台及工具都使用Microsoft的亦决定TTS引擎也选择Microsoft Speech SDK 。本文不论使用的OS还是开发工具到目前(2010年5月13)为止都是最新的。接下来将详细介绍Microsoft Speech SDK的使用。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;开发平台：windows 7 旗舰版&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;开发工具：Visaul Studio 2010 &amp;amp; Microsoft Speech SDK&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;一、开发环境配置&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;打开Visual Studio 2010新建解决方案，创建MFC基于对话框应用程序。配置项目属性如图15所示：&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/MicrosoftSpeechSDK_11155/clip_image002_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/MicrosoftSpeechSDK_11155/clip_image002_thumb.jpg" width="307" height="270" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;图 15 项目属性&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;在附加包含目录中找到Speech SDK安装目录下的include目录路径如图16的本人配置目录：C:\Program Files\Microsoft Speech SDK 5.1\Include&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/MicrosoftSpeechSDK_11155/clip_image004_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/MicrosoftSpeechSDK_11155/clip_image004_thumb.jpg" width="662" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;图 16 配置include目录&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;在C++的Link栏加中的Input项Additional中附加sapi.lib库的路径&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;本人路径：C:\Program Files\Microsoft Speech SDK 5.1\Lib\i386\sapi.lib&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;配置操作示意图如图 17所示。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/MicrosoftSpeechSDK_11155/clip_image006_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/MicrosoftSpeechSDK_11155/clip_image006_thumb.jpg" width="663" height="93" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;图17 附加依赖库&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;到此，使用Visual Studio 2010、Microsoft Speech SDK开发环境配置完成。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;语音小助手编码实现&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;配置好开发环境，使用Microsoft Speech SDK将会是一件比较愉快的事情。以下将简单介绍下Microsoft Speech SDK的使用。接下来使用一个Demo程序介绍Speech SDK的使用方法。&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;使用Speech SDK时应包含所需的头文件和库文件。如：&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;#include &amp;lt;sapi.h&amp;gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;#pragma comment(lib,&amp;quot;sapi.lib&amp;quot;);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;在一个按钮事件响应函数中的实现代码如下所示：&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;ISpVoice *pVoice = NULL;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;//初始化COM接口&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;if (FAILED(::CoInitialize(NULL)))&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;MessageBox(L&amp;quot;COM接口初始化失败&amp;quot;);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;//获取SpVoice接口&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;HRESULT hr = CoCreateInstance(CLSID_SpVoice,NULL,CLSCTX_ALL,IID_ISpVoice,(void**)&amp;amp;pVoice);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;if (SUCCEEDED(hr))&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;{&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;hr = pVoice-&amp;gt;Speak(L&amp;quot;Hello World&amp;quot;,0,NULL);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;pVoice-&amp;gt;Release();&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;pVoice = NULL;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;}&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;//释放com资源&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4"&gt;::CoUninitialize();&lt;/font&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1742201.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/05/23/1742201.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/05/21/1740518.html</id><title type="text">vs2010注册aisual assist 1823</title><summary type="text">说明本人系统为windows 7 VS版本为Visual Studio 2010 Ultimate 本人注册成功步骤：1、下载破解文件/Files/eping/VA_X.rar2、 直接将下载的VA_X.dll替换C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Whole Tomato Soft...</summary><published>2010-05-20T16:30:00Z</published><updated>2010-05-20T16:30:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/05/21/1740518.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/05/21/1740518.html"/><content type="html">&lt;p&gt;说明本人系统为windows 7 &amp;nbsp;VS版本为Visual Studio 2010 Ultimate 本人注册成功&lt;/p&gt;&lt;p&gt;步骤：&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/eping/VA_X.rar" target="_blank"&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;1、下载破解文件&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;a href="http://files.cnblogs.com/eping/VA_X.rar" target="_blank"&gt;/Files/eping/VA_X.rar&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2、 直接将下载的VA_X.dll替换&lt;/p&gt;&lt;p&gt;C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\10.0\Extensions\Whole Tomato Software\Visual Assist X\10.6.1823.0&lt;/p&gt;&lt;p&gt;里面的VA_X.dll文件即可。&lt;/p&gt;&lt;p&gt;注：根据自己的用户名 寻找路径。&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1740518.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/05/21/1740518.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/04/23/1718684.html</id><title type="text">VMware扩展硬盘空间</title><summary type="text">注意：扩展前最好先备份数据，本人扩展是没发生什么问题  操作步骤：  1、运行&amp;#160;&amp;#160; cmd  2、进入VMware Workstation安装目录  如我的：  D:\Program Files\VMware\VMware Workstation  目录下有个工具：vmware-vdiskmanager.exe 使用这个工具就可以扩展VM空间了  要求：  1、你的虚拟机必须处...</summary><published>2010-04-23T07:44:00Z</published><updated>2010-04-23T07:44:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/04/23/1718684.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/04/23/1718684.html"/><content type="html">&lt;p&gt;注意：扩展前最好先备份数据，本人扩展是没发生什么问题&lt;/p&gt;  &lt;p&gt;操作步骤：&lt;/p&gt;  &lt;p&gt;1、运行&amp;#160;&amp;#160; cmd&lt;/p&gt;  &lt;p&gt;2、进入VMware Workstation安装目录&lt;/p&gt;  &lt;p&gt;如我的：&lt;/p&gt;  &lt;p&gt;D:\Program Files\VMware\VMware Workstation&lt;/p&gt;  &lt;p&gt;目录下有个工具：vmware-vdiskmanager.exe 使用这个工具就可以扩展VM空间了&lt;/p&gt;  &lt;p&gt;要求：&lt;/p&gt;  &lt;p&gt;1、你的虚拟机必须处于关闭状态&lt;/p&gt;  &lt;p&gt;2、虚拟机没有快照&lt;/p&gt;  &lt;p&gt;操作：&lt;/p&gt;  &lt;p&gt;vmware-vdiskmanager.exe&amp;#160; &amp;quot;你虚拟机存放目录&amp;quot;&lt;/p&gt;  &lt;p&gt;如我的：&lt;/p&gt;  &lt;p&gt;vmware-vdiskmanager.exe&amp;#160; &amp;quot;E:\Eping\ubuntu\Ubuntu.vmdk&amp;quot;&lt;/p&gt;  &lt;p&gt;此时就会出现Grow: 0%&amp;#160; done.&amp;#160;&amp;#160; 一直到百分之百就OK了，速度好象比较慢.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/VMware_DD1E/tu_2.jpg"&gt;&lt;img title="tu" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="53" alt="tu" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/VMware_DD1E/tu_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1718684.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/04/23/1718684.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/04/20/1716445.html</id><title type="text">Firefox开发目录设置方法</title><summary type="text">一、直接在  本人：  C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\rbl3tisg.Dev\extensions\eping@eping.net\  下开发  您的：  C:\Documents and Settings\&amp;lt;您的登录用户名&amp;gt;\Application ...</summary><published>2010-04-20T10:50:00Z</published><updated>2010-04-20T10:50:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/04/20/1716445.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/04/20/1716445.html"/><content type="html">&lt;p&gt;一、直接在&lt;/p&gt;  &lt;p&gt;本人：&lt;/p&gt;  &lt;p&gt;C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\rbl3tisg.Dev\extensions\eping@eping.net\&lt;/p&gt;  &lt;p&gt;下开发&lt;/p&gt;  &lt;p&gt;您的：&lt;/p&gt;  &lt;p&gt;C:\Documents and Settings\&amp;lt;您的登录用户名&amp;gt;\Application Data\Mozilla\Firefox\Profiles\rbl3tisg.Dev\extensions\&amp;lt;您的开发目录&amp;gt;&lt;/p&gt;  &lt;p&gt;二、创建链接目录&lt;/p&gt;  &lt;p&gt;在C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\rbl3tisg.Dev\extensions\下面建一个文件名为&lt;a href="mailto:dev_fox_ext@eping.net"&gt;dev_fox_ext@eping.net&lt;/a&gt;的文件&lt;/p&gt;  &lt;p&gt;文件内容为开发目录，比如：E:\Eping\FirefoxExt\ImagesDownloader&lt;/p&gt;  &lt;p&gt;注意：&lt;a href="mailto:dev_fox_ext@eping.net"&gt;dev_fox_ext@eping.net&lt;/a&gt; 要和install.rdf保持一致&lt;/p&gt;  &lt;p&gt;&amp;lt;em:id&amp;gt;dev_fox_ext@eping.net&amp;lt;/em:id&amp;gt;&lt;/p&gt;  &lt;p&gt;这个要符合邮箱或符合GUID格式，应该是唯一的。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1716445.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/04/20/1716445.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/eping/archive/2010/04/20/1716291.html</id><title type="text">Mozilla 扩展开发环境设置</title><summary type="text">一、构建开发环境//禁用 XUL 缓存，使得对窗口和对话框的修改不需要重新加载 XUL 文件 //允许使用 dump() 语句向标准控制台输出信息</summary><published>2010-04-20T08:11:00Z</published><updated>2010-04-20T08:11:00Z</updated><author><name>eping</name><uri>http://www.cnblogs.com/eping/</uri></author><link rel="alternate" href="http://www.cnblogs.com/eping/archive/2010/04/20/1716291.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/eping/archive/2010/04/20/1716291.html"/><content type="html">&lt;p&gt;一、构建开发环境&lt;/p&gt;&lt;pre&gt;在动手开发之前，首先需要构建扩展开发所需的环境。Firefox 把用户的个人信息，包括设置、&lt;/pre&gt;&lt;pre&gt;已安装的扩展等，都保存在一个概要文件中，默认是使用名为 default 的概要文件。通过创建一个&lt;/pre&gt;&lt;pre&gt;专门为开发使用的概要文件，可以不影响正常的使用，也不会破坏个人信息。&lt;/pre&gt;&lt;pre&gt;创建概要文件：&lt;/pre&gt;&lt;pre&gt;步骤：1、在开始菜单运行里输入  cmd&lt;/pre&gt;&lt;pre&gt;2、start "" "%ProgramFiles%\Mozilla Firefox\firefox.exe" -no-remote -P dev&lt;/pre&gt;&lt;pre&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/1_2.jpg" target="_blank"&gt;&lt;img title="1" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="172" alt="1" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/1_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/pre&gt;&lt;pre&gt;3、创建配置文件　　　只要写个名字下一步就Ok了&lt;/pre&gt;&lt;pre&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/2_2.jpg" target="_blank"&gt;&lt;img title="2" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="186" alt="2" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/2_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/pre&gt;&lt;pre&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/3_2.jpg" target="_blank"&gt;&lt;img title="3" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="186" alt="3" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/3_thumb.jpg" width="254" border="0"&gt;&lt;/a&gt; &lt;/pre&gt;&lt;pre&gt;4、创建完成按结束就可以启动FireFox了&lt;/pre&gt;&lt;pre&gt;二、安装Firefox插件&lt;/pre&gt;&lt;pre&gt;各插件名Venkman、Extension Developer's Extension 、Console&lt;sup&gt;2&lt;/sup&gt; 、Chrome List、Execute JS、&lt;a title="http://xpcomviewer.mozdev.org" href="http://xpcomviewer.mozdev.org/" target="_blank" rel="external nofollow"&gt;XPCOMViewer&lt;/a&gt;、 和 &lt;/pre&gt;&lt;pre&gt;Firebug&lt;br&gt;更多的开发帮助插件见：https://developer.mozilla.org/en/Setting_up_extension_development_environment&lt;br&gt;&lt;/pre&gt;&lt;pre&gt;安装方法：&lt;/pre&gt;&lt;pre&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/4_2.jpg" target="_blank"&gt;&lt;img title="4" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="129" alt="4" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/4_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/pre&gt;&lt;pre&gt;获取插件&lt;/pre&gt;&lt;pre&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/5_2.jpg" target="_blank"&gt;&lt;img title="5" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="178" alt="5" src="http://images.cnblogs.com/cnblogs_com/eping/WindowsLiveWriter/Mozilla_DE66/5_thumb.jpg" width="244" border="0"&gt;&lt;/a&gt; &lt;/pre&gt;&lt;pre&gt;三、配置Firefox参数&lt;/pre&gt;&lt;pre&gt;在地址栏里输入： about:config&lt;/pre&gt;&lt;pre&gt;javascript.options.showInConsole = true //把JavaScript的出错信息显示在错误控制台&lt;/pre&gt;&lt;pre&gt;javascript.options.strict  = true //在错误控制台中启用严格的 JavaScript 警告信息&lt;/pre&gt;&lt;pre&gt;参照另外一篇文章里的&lt;/pre&gt;&lt;pre&gt;&lt;a title="http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/index.html" href="http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/index.html" target="_blank"&gt;http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/index.html&lt;/a&gt;&lt;/pre&gt;&lt;pre&gt;以下两项参数设置在about:config 里找不到，需要在 C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox\Profiles\rbl3tisg.Dev &lt;br&gt;目录下的&lt;code&gt;user.js&lt;/code&gt; 文件中,如果文件不存在,创建它，但Firefox 3.0以后的版本就没有这个文件了，用prefs.js文件替换了&lt;br&gt;添加&lt;br&gt;&lt;pre&gt;user_pref("nglayout.debug.disable_xul_cache",true);&lt;br&gt;&lt;br&gt;&lt;/pre&gt;//禁用 XUL 缓存，使得对窗口和对话框的修改不需要重新加载 XUL 文件&lt;br&gt;&lt;pre&gt;user_pref("browser.dom.window.dump.enabled",true);&lt;/pre&gt; //允许使用 dump() 语句向标准控制台输出信息&lt;/pre&gt;&lt;pre&gt;到此基本开发环境已设置好。&lt;br&gt;中文帮助文档见：&lt;br&gt;&lt;a href="https://developer.mozilla.org/cn/Setting_up_extension_development_environment"&gt;https://developer.mozilla.org/cn/Setting_up_extension_development_environment&lt;/a&gt;&lt;/pre&gt;&lt;pre&gt;&lt;/pre&gt;&lt;pre&gt;最好在桌面上新建一个快捷方式：　　&lt;/pre&gt;&lt;pre&gt;目录为下：&lt;/pre&gt;&lt;pre&gt;"C:\Program Files\Mozilla Firefox\firefox.exe" -no-remote -p "Dev"&lt;br&gt;&lt;/pre&gt;&lt;img src="http://www.cnblogs.com/eping/aggbug/1716291.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/eping/archive/2010/04/20/1716291.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
