﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-Snow_斯诺-随笔分类-windows</title><link>http://www.cppblog.com/zhiyewang/category/21193.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 11 Mar 2016 20:39:42 GMT</lastBuildDate><pubDate>Fri, 11 Mar 2016 20:39:42 GMT</pubDate><ttl>60</ttl><item><title>Windows下解压版mysql的安装方法</title><link>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212970.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 10 Mar 2016 07:17:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212970.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/212970.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/212970.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/212970.html</trackback:ping><description><![CDATA[1 首先下载mysql的解压版的rar安装包<br /><br />1 将安装包解压到安装路径.<br />C:\Program Files (x86)\MySQL<br /><br />2 将安装路径下的bin追加到环境变量"PATH"中<br />C:\Program Files (x86)\MySQL\bin<br /><br />3 修改my.ini,增加两行<br />basedir=C:\Program Files (x86)\MySQL\<br />datadir=C:\Program Files (x86)\MySQL\data\<br /><br />4 执行安装<br />mysqld -install<br /><br />5 启动服务<br />net start mysql<br /><br />6 首次登陆<br />mysql -u root -p<br /><br />6 卸载<br />mysqld -remove<img src ="http://www.cppblog.com/zhiyewang/aggbug/212970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2016-03-10 15:17 <a href="http://www.cppblog.com/zhiyewang/archive/2016/03/10/212970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>PostScript的简单例子-用粗线画一个圆</title><link>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212968.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Thu, 10 Mar 2016 07:14:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212968.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/212968.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2016/03/10/212968.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/212968.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/212968.html</trackback:ping><description><![CDATA[一 近期需要用到PostScript，查询资料学习PS的语法<br />
简单的画一个圆的例子<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->1&nbsp;%!PS-Adobe-3.0<br />2&nbsp;/inch{72&nbsp;mul}&nbsp;def<br />3&nbsp;4.25&nbsp;inch&nbsp;5.5&nbsp;inch<br />4&nbsp;1.5&nbsp;inch<br />5&nbsp;360&nbsp;arc&nbsp;<br />6&nbsp;0.1&nbsp;inch&nbsp;setlinewidth<br />7&nbsp;stroke<br />8&nbsp;showpage</div><br />
%Title：用粗线画一个圆<br />%以&#8216;%&#8217;开头的第一段语句表示注释，第二段语句定义了名字对象&#8216;inch&#8217;，接着定义圆的中心位置（4.25，5.5），半径1.5；然后画角度为360&#176;的圆；最后定义粗线的宽度0.1，画出粗线的路径进行显示<img src ="http://www.cppblog.com/zhiyewang/aggbug/212968.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2016-03-10 15:14 <a href="http://www.cppblog.com/zhiyewang/archive/2016/03/10/212968.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2015 通过脚本命令cacls提升某个用户都某路径的操作权限</title><link>http://www.cppblog.com/zhiyewang/archive/2015/01/20/209591.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Tue, 20 Jan 2015 07:59:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2015/01/20/209591.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209591.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2015/01/20/209591.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209591.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209591.html</trackback:ping><description><![CDATA[摘要<br />----<br />项目需要对服务器上的某个路径下的目录，修改权限：给Users用户组的用户添加修改写入权限。<br /><br />原理<br />----<br />通过批处理脚本实现，命令使用 icacls 修改ACL&nbsp;来达到修改权限的目的。<br /><br />操作<br />----<br />想要对&nbsp;D:\test directory 路径添加User用户组的修改权限，可用如下语句<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">icacls&nbsp;</span><span style="color: #000000; ">%</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">grant&nbsp;Users:(OI)(CI)M</span></div><br />但是 icacls&nbsp;只支持windows server 2003 sp2 及其以上版本<br />如果您的系统是 windows server 2003 sp1版本，请使用如下命令<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; ">cacls&nbsp;</span><span style="color: #000000; ">%</span><span style="color: #000000; ">1</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">E&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">G&nbsp;Users:C</span></div><br />/E&nbsp;表示增加权限，而不是用现有的权限替换<br />Users:C&nbsp;表示对&nbsp;Users用户组添加修改权限<br />%1&nbsp;代表您的路径<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000; "><div><span style="color: #000000; "><div><span style="color: #000000; ">icacls </span><span style="color: #000000; "><span style="color: #000000; ">&#8220;</span>D:\test&nbsp;directory&#8221;</span><span style="color: #000000; "></span><span style="color: #000000; "> /</span><span style="color: #000000; ">grant&nbsp;Users:(OI)(CI)M</span><span style="color: #000000; "></span></div><br />cacls &#8220;</span>D:\test&nbsp;directory&#8221;<span style="color: #000000; "> /</span><span style="color: #000000; ">E&nbsp;</span><span style="color: #000000; ">/</span><span style="color: #000000; ">G&nbsp;Users:C</span></div></span></div><br /><br /><img src ="http://www.cppblog.com/zhiyewang/aggbug/209591.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2015-01-20 15:59 <a href="http://www.cppblog.com/zhiyewang/archive/2015/01/20/209591.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2015 mysql.lib 的使用</title><link>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209491.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Mon, 12 Jan 2015 09:57:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209491.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209491.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209491.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209491.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209491.html</trackback:ping><description><![CDATA[一 说明<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql.lib 提供了很多方便的操作，同时结合 vector&nbsp;使用十分方便。<br /><br />二&nbsp;使用<br />&nbsp;&nbsp;&nbsp; 1 声明需要用到的变量<br />&nbsp;&nbsp;&nbsp; <br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;MYSQL&nbsp;s_mysql[DATABASE_CONNECTION_NUM];<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;mysql_user[</span><span style="color: #000000; ">50</span><span style="color: #000000; ">]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">"</span><span style="color: #000000; ">root</span><span style="color: #000000; ">"</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;mysql_password[</span><span style="color: #000000; ">50</span><span style="color: #000000; ">]</span><span style="color: #000000; ">=</span><span style="color: #000000; ">""</span><span style="color: #000000; ">;</span></div><br />&nbsp;&nbsp;&nbsp; 2 初始化数据库连接<br />初始化连接过程中，根据自己的需要，是否有包含中文字符，设置数据库的属性。<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;InitDBConnetion()<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">bool</span><span style="color: #000000; ">&nbsp;bOK&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">false</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;DATABASE_CONNECTION_NUM;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_init(</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">s_mysql[i]);<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_options(</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">s_mysql[i],&nbsp;MYSQL_SET_CHARSET_NAME,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">utf8</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;mysql_real_connect(</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">s_mysql[i],&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">localhost</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;mysql_user,&nbsp;mysql_password,&nbsp;DB_NAME,&nbsp;DB_PORT,&nbsp;NULL,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">))<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Failed&nbsp;to&nbsp;connect&nbsp;to&nbsp;database:&nbsp;Error:&nbsp;%s\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;mysql_error(</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">s_mysql[i]));<br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;DATABASE_CONNECTION_NUM)<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CloseDBConnection();<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">else</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bOK&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">true</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;bOK;<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; "></span></div><div>&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp; 3 查询并保存结果<br /><br /><div><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">typedef&nbsp;</span><span style="color: #0000FF; ">struct</span><span style="color: #000000; "><br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;chGroupName[</span><span style="color: #000000; ">256</span><span style="color: #000000; ">];<br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;uchGroupInternalId[</span><span style="color: #000000; ">4</span><span style="color: #000000; ">];<br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;uchGroupMemberNum[</span><span style="color: #000000; ">3</span><span style="color: #000000; ">];<br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #000000; ">}GROUP_INFO;</span></div></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;GetUserGroupInfo(vector</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">GROUP_INFO</span><span style="color: #000000; ">&gt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">vGroup,&nbsp;MYSQL&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pMySqlConnection)<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;groupNum&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_RES&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pResult&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;chSql[</span><span style="color: #000000; ">1024</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">{</span><span style="color: #000000; ">0</span><span style="color: #000000; ">};<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sprintf(chSql,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">select&nbsp;group_id,group_name&nbsp;from&nbsp;`cloudsoarmanage`.`user_group`</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;mysql_query(pMySqlConnection,chSql))<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">13</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pResult&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;mysql_store_result(pMySqlConnection);<br /></span><span style="color: #008080; ">15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;pResult)<br /></span><span style="color: #008080; ">16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">19</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MYSQL_ROW&nbsp;sql_row;<br /></span><span style="color: #008080; ">21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;groupId&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(sql_row&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;mysql_fetch_row(pResult))<br /></span><span style="color: #008080; ">23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GROUP_INFO&nbsp;info&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;{</span><span style="color: #000000; ">0</span><span style="color: #000000; ">};<br /></span><span style="color: #008080; ">25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;strcpy(info.chGroupName,&nbsp;sql_row[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]);<br /></span><span style="color: #008080; ">26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;groupId&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;atoi(sql_row[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]);<br /></span><span style="color: #008080; ">27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info.uchGroupInternalId[</span><span style="color: #000000; ">0</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;groupId&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0xFF</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info.uchGroupInternalId[</span><span style="color: #000000; ">1</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(groupId</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">8</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0xFF</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info.uchGroupInternalId[</span><span style="color: #000000; ">2</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(groupId</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">16</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0xFF</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;info.uchGroupInternalId[</span><span style="color: #000000; ">3</span><span style="color: #000000; ">]&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(groupId</span><span style="color: #000000; ">&gt;&gt;</span><span style="color: #000000; ">24</span><span style="color: #000000; ">)&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0xFF</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vGroup.push_back(info);<br /></span><span style="color: #008080; ">32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">++</span><span style="color: #000000; ">groupNum;<br /></span><span style="color: #008080; ">33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">34</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">36</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(NULL&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;pResult)<br /></span><span style="color: #008080; ">38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_free_result(pResult);<br /></span><span style="color: #008080; ">40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">41</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">42</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;groupNum;<br /></span><span style="color: #008080; ">43</span>&nbsp;<span style="color: #000000; ">}</span></div></div><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #0000FF; ">void</span><span style="color: #000000; ">&nbsp;CloseDBConnection()<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">for</span><span style="color: #000000; ">(i&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;&nbsp;i&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;DATABASE_CONNECTION_NUM;&nbsp;i</span><span style="color: #000000; ">++</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mysql_close(</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">s_mysql[i]);<br /></span><span style="color: #008080; ">8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">9</span>&nbsp;<span style="color: #000000; ">}</span></div><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><img src ="http://www.cppblog.com/zhiyewang/aggbug/209491.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2015-01-12 17:57 <a href="http://www.cppblog.com/zhiyewang/archive/2015/01/12/209491.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2015 AnsiToUtf8 和 Utf8ToAnsi</title><link>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209490.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Mon, 12 Jan 2015 09:27:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209490.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209490.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209490.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209490.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209490.html</trackback:ping><description><![CDATA[&nbsp;在服务端数据库的处理当中，涉及中文字符的结构体字段，需要转为Utf8后再存储到表项中。<br />从数据库中取出包含中文字符的字段后，如果需要保存到char *类型的结构体成员中，需要转为Ansi后再保存。<br />从数据库中取出类型数字的字段后，如果需要保存到int型的结构体成员中，需要调用atoi函数进行处理后再保存。<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">AnsiToUtf8(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pchAnsi)<br /></span><span style="color: #008080; ">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;uSize</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;WCHAR&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pwText&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">NULL;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pchUtf8</span><span style="color: #000000; ">=</span><span style="color: #000000; ">NULL;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;nUtf8Len&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;pchAnsi)<br /></span><span style="color: #008080; ">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;12</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uSize&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;MultiByteToWideChar(CP_ACP,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,pchAnsi,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,NULL,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;16</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(uSize&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">&nbsp;17</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pwText&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(wchar_t</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)malloc((uSize</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)</span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(wchar_t));<br /></span><span style="color: #008080; ">&nbsp;21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">pwText)<br /></span><span style="color: #008080; ">&nbsp;22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;25</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset((</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)pwText,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(wchar_t)</span><span style="color: #000000; ">*</span><span style="color: #000000; ">(uSize</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br /></span><span style="color: #008080; ">&nbsp;27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MultiByteToWideChar(CP_ACP,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,pchAnsi,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,pwText,uSize);<br /></span><span style="color: #008080; ">&nbsp;28</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">widechar&nbsp;to&nbsp;utf8</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;30</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nUtf8Len&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;WideCharToMultiByte(CP_UTF8,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;pwText,&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,&nbsp;NULL,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;NULL,&nbsp;NULL);<br /></span><span style="color: #008080; ">&nbsp;31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&gt;=</span><span style="color: #000000; ">&nbsp;nUtf8Len)<br /></span><span style="color: #008080; ">&nbsp;32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;35</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pchUtf8</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)malloc(nUtf8Len</span><span style="color: #000000; ">+</span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;pchUtf8)<br /></span><span style="color: #008080; ">&nbsp;38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(pchUtf8,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,nUtf8Len</span><span style="color: #000000; ">+</span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;42</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;43</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nUtf8Len&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;WideCharToMultiByte(CP_UTF8,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;pwText,&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,&nbsp;pchUtf8,&nbsp;nUtf8Len,&nbsp;NULL,&nbsp;NULL);<br /></span><span style="color: #008080; ">&nbsp;44</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&gt;=</span><span style="color: #000000; ">&nbsp;nUtf8Len)<br /></span><span style="color: #008080; ">&nbsp;45</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;46</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(pchUtf8);<br /></span><span style="color: #008080; ">&nbsp;47</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pchUtf8&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;48</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;50</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;51</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;52</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;53</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;54</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">pwText)<br /></span><span style="color: #008080; ">&nbsp;55</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;56</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(pwText);<br /></span><span style="color: #008080; ">&nbsp;57</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;58</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;59</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;pchUtf8;<br /></span><span style="color: #008080; ">&nbsp;60</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">&nbsp;61</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;62</span>&nbsp;<span style="color: #000000; "></span><span style="color: #0000FF; ">static</span><span style="color: #000000; ">&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">Utf8ToAnsi(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pchUtf8)<br /></span><span style="color: #008080; ">&nbsp;63</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;64</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;uSize</span><span style="color: #000000; ">=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;65</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;WCHAR&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pwText&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">NULL;<br /></span><span style="color: #008080; ">&nbsp;66</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pchAnsic</span><span style="color: #000000; ">=</span><span style="color: #000000; ">NULL;<br /></span><span style="color: #008080; ">&nbsp;67</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;ansicStrLen&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;68</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;69</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;pchUtf8)<br /></span><span style="color: #008080; ">&nbsp;70</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;71</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;72</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;73</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;74</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;75</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;76</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uSize&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;MultiByteToWideChar(CP_UTF8,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,pchUtf8,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,NULL,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;77</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(uSize&nbsp;</span><span style="color: #000000; ">&lt;=</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">&nbsp;78</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;79</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;80</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;81</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pwText&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(wchar_t</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)malloc((uSize</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">)</span><span style="color: #000000; ">*</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(wchar_t));<br /></span><span style="color: #008080; ">&nbsp;82</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(</span><span style="color: #000000; ">!</span><span style="color: #000000; ">pwText)<br /></span><span style="color: #008080; ">&nbsp;83</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;84</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;85</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;86</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset((</span><span style="color: #0000FF; ">void</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)pwText,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(wchar_t)</span><span style="color: #000000; ">*</span><span style="color: #000000; ">(uSize</span><span style="color: #000000; ">+</span><span style="color: #000000; ">1</span><span style="color: #000000; ">));<br /></span><span style="color: #008080; ">&nbsp;87</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MultiByteToWideChar(CP_UTF8,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,pchUtf8,</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,pwText,uSize);<br /></span><span style="color: #008080; ">&nbsp;88</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;89</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">widechar&nbsp;to&nbsp;utf8</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;90</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ansicStrLen&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;WideCharToMultiByte(CP_ACP,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;pwText,&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,&nbsp;NULL,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;NULL,&nbsp;NULL);<br /></span><span style="color: #008080; ">&nbsp;91</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&gt;=</span><span style="color: #000000; ">&nbsp;ansicStrLen)<br /></span><span style="color: #008080; ">&nbsp;92</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;93</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;94</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;95</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;96</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pchAnsic</span><span style="color: #000000; ">=</span><span style="color: #000000; ">(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)malloc(ansicStrLen</span><span style="color: #000000; ">+</span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;97</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;pchAnsic)<br /></span><span style="color: #008080; ">&nbsp;98</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;99</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">100</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">101</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memset(pchAnsic,</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,ansicStrLen</span><span style="color: #000000; ">+</span><span style="color: #000000; ">2</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">102</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">103</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ansicStrLen&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;WideCharToMultiByte(CP_ACP,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;pwText,&nbsp;</span><span style="color: #000000; ">-</span><span style="color: #000000; ">1</span><span style="color: #000000; ">,&nbsp;pchAnsic,&nbsp;ansicStrLen,&nbsp;NULL,&nbsp;NULL);<br /></span><span style="color: #008080; ">104</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">&gt;=</span><span style="color: #000000; ">&nbsp;ansicStrLen)<br /></span><span style="color: #008080; ">105</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">106</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(pchAnsic);<br /></span><span style="color: #008080; ">107</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pchAnsic&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">108</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">109</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">110</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">111</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">112</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">113</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;pwText)<br /></span><span style="color: #008080; ">114</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">115</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;free(pwText);<br /></span><span style="color: #008080; ">116</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">117</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">118</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;pchAnsic;<br /></span><span style="color: #008080; ">119</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">120</span>&nbsp;<span style="color: #000000; ">}</span></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/209490.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2015-01-12 17:27 <a href="http://www.cppblog.com/zhiyewang/archive/2015/01/12/209490.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2015 win32 注册表操作</title><link>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209489.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Mon, 12 Jan 2015 09:22:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209489.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209489.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2015/01/12/209489.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209489.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209489.html</trackback:ping><description><![CDATA[&nbsp;创建键 RegCreateKeyEx<br /><br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;&nbsp;1</span>&nbsp;<span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;SetRecordVideoSavedDays(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;newSavedDays)<br /></span><span style="color: #008080; ">&nbsp;&nbsp;2</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;&nbsp;3</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;HKEY&nbsp;hSubKey&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;4</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;LONG&nbsp;lRet&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;5</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwType&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;6</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;iRet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;7</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;8</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;&nbsp;9</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;10</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(newSavedDays&nbsp;</span><span style="color: #000000; ">&lt;</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">)<br /></span><span style="color: #008080; ">&nbsp;11</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;12</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">error:&nbsp;input&nbsp;negative&nbsp;number\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;13</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;14</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;15</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;RegCreateKeyEx(HKEY_LOCAL_MACHINE,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">SOFTWARE\\Cloudsoar&nbsp;3C\\ServerInfo</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,<br /></span><span style="color: #008080; ">&nbsp;16</span>&nbsp;<span style="color: #000000; ">&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><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;NULL,&nbsp;REG_OPTION_NON_VOLATILE,&nbsp;<br /></span><span style="color: #008080; ">&nbsp;17</span>&nbsp;<span style="color: #000000; ">&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;KEY_ALL_ACCESS,&nbsp;NULL,&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">hSubKey,&nbsp;NULL);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;18</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ERROR_SUCCESS&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;lRet)<br /></span><span style="color: #008080; ">&nbsp;19</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;20</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Create&nbsp;Reg&nbsp;failed\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;21</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;22</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;23</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;24</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;RegSetValueEx(hSubKey,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">VideoSavedDays</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;REG_DWORD,&nbsp;(BYTE</span><span style="color: #000000; ">*</span><span style="color: #000000; ">)</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">newSavedDays,&nbsp;</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(newSavedDays));<br /></span><span style="color: #008080; ">&nbsp;25</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ERROR_SUCCESS&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;lRet)<br /></span><span style="color: #008080; ">&nbsp;26</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;27</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Set&nbsp;reg&nbsp;value&nbsp;VideoSavedDays&nbsp;failed\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;28</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;29</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;30</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;31</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">)newSavedDays;<br /></span><span style="color: #008080; ">&nbsp;32</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;33</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;34</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">(NULL&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;hSubKey)<br /></span><span style="color: #008080; ">&nbsp;35</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;36</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RegCloseKey(hSubKey);<br /></span><span style="color: #008080; ">&nbsp;37</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hSubKey&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;38</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;39</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;40</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;41</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;iRet;<br /></span><span style="color: #008080; ">&nbsp;42</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">&nbsp;43</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;44</span>&nbsp;<span style="color: #000000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;parameter1:&nbsp;out,&nbsp;save&nbsp;video&nbsp;saved&nbsp;path<br /></span><span style="color: #008080; ">&nbsp;45</span>&nbsp;<span style="color: #008000; "></span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;parameter2:&nbsp;in,&nbsp;save&nbsp;path&nbsp;length</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;46</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">BOOL&nbsp;GetRecordVideoSavedPath(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pchPath,</span><span style="color: #0000FF; ">int</span><span style="color: #000000; ">&nbsp;pathBufLen)<br /></span><span style="color: #008080; ">&nbsp;47</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;48</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;HKEY&nbsp;hSubKey&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;49</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;LONG&nbsp;lRet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;50</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwType&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;51</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwPathLen&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;pathBufLen;<br /></span><span style="color: #008080; ">&nbsp;52</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;bRet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;FALSE;<br /></span><span style="color: #008080; ">&nbsp;53</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;54</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;55</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;56</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;RegOpenKeyEx(HKEY_LOCAL_MACHINE,&nbsp;<br /></span><span style="color: #008080; ">&nbsp;57</span>&nbsp;<span style="color: #000000; ">&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><span style="color: #000000; ">"</span><span style="color: #000000; ">SOFTWARE\\Cloudsoar&nbsp;3C\\ServerInfo</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,<br /></span><span style="color: #008080; ">&nbsp;58</span>&nbsp;<span style="color: #000000; ">&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><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;KEY_READ,&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">hSubKey);<br /></span><span style="color: #008080; ">&nbsp;59</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ERROR_SUCCESS&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;lRet)<br /></span><span style="color: #008080; ">&nbsp;60</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;61</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Open&nbsp;reg&nbsp;value&nbsp;VideoSavedPath&nbsp;failed\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;62</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;63</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;64</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;65</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;RegQueryValueEx(hSubKey,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">VideoSavedPath</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;<br /></span><span style="color: #008080; ">&nbsp;66</span>&nbsp;<span style="color: #000000; ">&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><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">dwType,&nbsp;(LPBYTE)pchPath,&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">dwPathLen);<br /></span><span style="color: #008080; ">&nbsp;67</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ERROR_SUCCESS&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;lRet)<br /></span><span style="color: #008080; ">&nbsp;68</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;69</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Query&nbsp;reg&nbsp;value&nbsp;VideoSavedPath&nbsp;failed\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;70</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;71</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;72</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;73</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;TRUE;<br /></span><span style="color: #008080; ">&nbsp;74</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;75</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;76</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;77</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;RegCloseKey(hSubKey);<br /></span><span style="color: #008080; ">&nbsp;78</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;<br /></span><span style="color: #008080; ">&nbsp;79</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;bRet;<br /></span><span style="color: #008080; ">&nbsp;80</span>&nbsp;<span style="color: #000000; ">}<br /></span><span style="color: #008080; ">&nbsp;81</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;82</span>&nbsp;<span style="color: #000000; ">BOOL&nbsp;SetRecordVideoSavePath(</span><span style="color: #0000FF; ">char</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">pchNewPath)<br /></span><span style="color: #008080; ">&nbsp;83</span>&nbsp;<span style="color: #000000; ">{<br /></span><span style="color: #008080; ">&nbsp;84</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;HKEY&nbsp;hSubKey&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;NULL;<br /></span><span style="color: #008080; ">&nbsp;85</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;LONG&nbsp;lRet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;86</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwType&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;87</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwState&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;88</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;BOOL&nbsp;bRet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;FALSE;<br /></span><span style="color: #008080; ">&nbsp;89</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">&nbsp;90</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">do</span><span style="color: #000000; ">&nbsp;<br /></span><span style="color: #008080; ">&nbsp;91</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;92</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(NULL&nbsp;</span><span style="color: #000000; ">==</span><span style="color: #000000; ">&nbsp;pchNewPath)<br /></span><span style="color: #008080; ">&nbsp;93</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">&nbsp;94</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">error:&nbsp;input&nbsp;negative&nbsp;new&nbsp;path\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">&nbsp;95</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">&nbsp;96</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">&nbsp;97</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;RegCreateKeyEx(HKEY_LOCAL_MACHINE,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">SOFTWARE\\Cloudsoar&nbsp;3C\\ServerInfo</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,<br /></span><span style="color: #008080; ">&nbsp;98</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;NULL,&nbsp;REG_OPTION_NON_VOLATILE,&nbsp;<br /></span><span style="color: #008080; ">&nbsp;99</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KEY_ALL_ACCESS,&nbsp;NULL,&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">hSubKey,&nbsp;</span><span style="color: #000000; ">&amp;</span><span style="color: #000000; ">dwState);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">100</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ERROR_SUCCESS&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;lRet)<br /></span><span style="color: #008080; ">101</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">102</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Create&nbsp;Reg&nbsp;VideoSavedPath&nbsp;failed\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">103</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">104</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">105</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #008080; ">106</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;RegSetValueEx(hSubKey,&nbsp;</span><span style="color: #000000; ">"</span><span style="color: #000000; ">VideoSavedPath</span><span style="color: #000000; ">"</span><span style="color: #000000; ">,&nbsp;</span><span style="color: #000000; ">0</span><span style="color: #000000; ">,&nbsp;REG_SZ,&nbsp;(PBYTE)pchNewPath,&nbsp;</span><span style="color: #0000FF; ">sizeof</span><span style="color: #000000; ">(pchNewPath));<br /></span><span style="color: #008080; ">107</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">if</span><span style="color: #000000; ">&nbsp;(ERROR_SUCCESS&nbsp;</span><span style="color: #000000; ">!=</span><span style="color: #000000; ">&nbsp;lRet)<br /></span><span style="color: #008080; ">108</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br /></span><span style="color: #008080; ">109</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000; ">"</span><span style="color: #000000; ">Set&nbsp;reg&nbsp;value&nbsp;VideoSavedPath&nbsp;failed\n</span><span style="color: #000000; ">"</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">110</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">break</span><span style="color: #000000; ">;<br /></span><span style="color: #008080; ">111</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br /></span><span style="color: #008080; ">112</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">113</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bRet&nbsp;</span><span style="color: #000000; ">=</span><span style="color: #000000; ">&nbsp;TRUE;<br /></span><span style="color: #008080; ">114</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #0000FF; ">while</span><span style="color: #000000; ">&nbsp;(</span><span style="color: #000000; ">0</span><span style="color: #000000; ">);<br /></span><span style="color: #008080; ">115</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">116</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;RegCloseKey(hSubKey);<br /></span><span style="color: #008080; ">117</span>&nbsp;<span style="color: #000000; "><br /></span><span style="color: #008080; ">118</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">return</span><span style="color: #000000; ">&nbsp;bRet;<br /></span><span style="color: #008080; ">119</span>&nbsp;<span style="color: #000000; ">}</span></div><br />函数原型<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">LONG&nbsp;RegCreateKeyEx(<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">HKEY&nbsp;hKey,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;handle&nbsp;to&nbsp;open&nbsp;key</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">LPCTSTR&nbsp;lpSubKey,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;subkey&nbsp;name</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">DWORD&nbsp;Reserved,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;reserved</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">LPTSTR&nbsp;lpClass,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;class&nbsp;string</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">DWORD&nbsp;dwOptions,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;special&nbsp;options</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">REGSAM&nbsp;samDesired,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;desired&nbsp;security&nbsp;access</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">LPSECURITY_ATTRIBUTES&nbsp;lpSecurityAttributes,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;inheritance</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">PHKEY&nbsp;phkResult,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;key&nbsp;handle</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">LPDWORD&nbsp;lpdwDisposition&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;disposition&nbsp;value&nbsp;buffer</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">);</span></div>参数说明<br />    <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">hKey:&nbsp;　　要打开键的句柄或以下预定义句柄<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">HKEY_CLASSES_ROOT<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">HKEY_CURRENT_USER<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; ">HKEY_LOCAL_MACHINE<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">HKEY_USERS<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">lpSubKey:&nbsp;　　指向一个用于定义子键路径的字符串<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">Reserved,dwOptions,samDesired:&nbsp;　　置0<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">lpClass,lpSecurityAttributes:&nbsp;　　置NULL<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">phkResult:&nbsp;　　用于接收键句柄<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">lpdwDisposition:&nbsp;　　接收的相关信息,取值如下<br /></span><span style="color: #008080; ">11</span>&nbsp;<span style="color: #000000; ">REG_CREATED_NEW_KEY&nbsp;　　创建成功<br /></span><span style="color: #008080; ">12</span>&nbsp;<span style="color: #000000; ">REG_OPENED_EXISTING_KEY&nbsp;　　&nbsp;键已存在</span></div><br />打开键 RegOpenKeyEx<br />函数原型<br /><div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">LONG&nbsp;RegOpenKeyEx(<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;HKEY&nbsp;hKey,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;handle&nbsp;to&nbsp;open&nbsp;key</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR&nbsp;lpSubKey,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;subkey&nbsp;name</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;ulOptions,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;reserved</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;REGSAM&nbsp;samDesired,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;security&nbsp;access&nbsp;mask</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;PHKEY&nbsp;phkResult&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;handle&nbsp;to&nbsp;open&nbsp;key</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">);</span></div><br />参数说明<br />    <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">hKey:&nbsp;　&nbsp;　　要打开键的句柄或以下预定义句柄<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">HKEY_CLASSES_ROOT<br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #000000; ">HKEY_CURRENT_USER<br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #000000; ">HKEY_LOCAL_MACHINE<br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #000000; ">HKEY_USERS<br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #000000; ">lpSubKey:&nbsp;　　指向一个用于定义子键路径的字符串<br /></span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #000000; ">ulOptions:&nbsp;　　保留位,置0<br /></span><span style="color: #008080; ">8</span>&nbsp;<span style="color: #000000; ">samDesired:&nbsp;　　打开键后键的操作权限<br /></span><span style="color: #008080; ">9</span>&nbsp;<span style="color: #000000; ">phResult:&nbsp;　　接收打开的键的句柄</span></div><br />修改/添加键值 RegSetValueEx<br />函数原型<br /><div style="background-color: #eeeeee; font-size: 13px; border: 1px solid #cccccc; padding: 4px 5px 4px 4px; width: 98%; word-break: break-all;"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">1</span>&nbsp;<span style="color: #000000; ">LONG&nbsp;RegSetValueEx(<br /></span><span style="color: #008080; ">2</span>&nbsp;<span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;HKEY&nbsp;hKey,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;handle&nbsp;to&nbsp;key</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">3</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;LPCTSTR&nbsp;lpValueName,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;value&nbsp;name</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">4</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;Reserved,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;reserved</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">5</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;dwType,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;value&nbsp;type</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">6</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;CONST&nbsp;BYTE&nbsp;</span><span style="color: #000000; ">*</span><span style="color: #000000; ">lpData,&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;value&nbsp;data</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">7</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000; ">&nbsp;&nbsp;&nbsp;&nbsp;DWORD&nbsp;cbData&nbsp;</span><span style="color: #008000; ">//</span><span style="color: #008000; ">&nbsp;size&nbsp;of&nbsp;value&nbsp;data</span><span style="color: #008000; "><br /></span><span style="color: #008080; ">8</span>&nbsp;<span style="color: #008000; "></span><span style="color: #000000;">);</span></div><br />参数说明<br />    <div style="background-color:#eeeeee;font-size:13px;border:1px solid #CCCCCC;padding-right: 5px;padding-bottom: 4px;padding-left: 4px;padding-top: 4px;width: 98%;word-break:break-all"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080; ">&nbsp;1</span>&nbsp;<span style="color: #000000; ">hKey:&nbsp;　　打开键的句柄或以下预定义句柄<br /></span><span style="color: #008080; ">&nbsp;2</span>&nbsp;<span style="color: #000000; ">HKEY_CLASSES_ROOT<br /></span><span style="color: #008080; ">&nbsp;3</span>&nbsp;<span style="color: #000000; ">HKEY_CURRENT_USER<br /></span><span style="color: #008080; ">&nbsp;4</span>&nbsp;<span style="color: #000000; ">HKEY_LOCAL_MACHINE<br /></span><span style="color: #008080; ">&nbsp;5</span>&nbsp;<span style="color: #000000; ">HKEY_USERS<br /></span><span style="color: #008080; ">&nbsp;6</span>&nbsp;<span style="color: #000000; ">lpValueName:&nbsp;　　键值的名称<br /></span><span style="color: #008080; ">&nbsp;7</span>&nbsp;<span style="color: #000000; ">Reserved:&nbsp;　　保留位,置0<br /></span><span style="color: #008080; ">&nbsp;8</span>&nbsp;<span style="color: #000000; ">dwType:&nbsp;　　键值的类型<br /></span><span style="color: #008080; ">&nbsp;9</span>&nbsp;<span style="color: #000000; ">lpData:&nbsp;　　键值<br /></span><span style="color: #008080; ">10</span>&nbsp;<span style="color: #000000; ">cbData:&nbsp;　　键值数据长度</span></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/209489.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2015-01-12 17:22 <a href="http://www.cppblog.com/zhiyewang/archive/2015/01/12/209489.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2014 windows server 2008 - 隐藏磁盘分区 (2)</title><link>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209283.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Tue, 23 Dec 2014 10:00:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209283.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209283.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209283.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209283.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209283.html</trackback:ping><description><![CDATA[<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">二 创建策略并设置给指定用户</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">1 打开&#8220;组策略管理&#8221;(在这里创建策略)</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">cmd下输入GPMC.MSC 打开组策略管理</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">随后在域上右键选择&#8220;在这个域中创建GPO并在此处链接&#8221;，输入名字&#8220;磁盘管理策略&#8221;，</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/zhiyewang/1.png" width="351" longdesc="" height="86" /></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">右键&#8221;编辑&#8220;，设置"隐藏磁盘分区(1)"中添加的策略&#8220;仅仅禁用F盘&#8220;。</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/zhiyewang/2.png" width="159" longdesc="" height="170" /></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">右键&#8220;磁盘管理策略&#8221;，勾选强制，勾选已启用链接。</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/zhiyewang/3.png" width="246" longdesc="" height="148" /></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">2 关联此GPO</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">
<div>默认情况下，GPO 影响链接的站点、域或 OU 中包含的所有用户和计算机。</div>
<div>不过，您可以在 GPO 上使用安全筛选以修改其效果：通过修改 GPO 权限仅将其应用于特定用户、Active Directory 安全组成员或计算机。通过将安全筛选和 OU 中的相应位置相结合，您可以将任何一组给定的用户或计算机作为目标。</div>
<div></div>
<div>要将 GPO 应用于给定用户、安全组或计算机，该用户、组或计算机必须具有 GPO 的&#8220;读取&#8221;和&#8220;应用组策略&#8221;权限。默认情况下，&#8220;经过身份验证的用户&#8221;将&#8220;读取&#8221;和&#8220;应用组策略&#8221;权限设置为&#8220;允许&#8221;。这两个权限是作为一个单位使用 GPMC 中的安全筛选进行管理的。</div>
<div>若要设置给定 GPO 的权限，以便仅将 GPO 应用于特定用户、安全组或计算机（而不是应用于所有经过身份验证的用户），请在 GPMC 控制台树中包含该 GPO 的林和域中展开&#8220;组策略对象&#8221;。单击该 GPO，然后在细节窗格的&#8220;作用域&#8221;选项卡上的&#8220;安全筛选&#8221;下面，删除&#8220;经过身份验证的用户&#8221;，单击&#8220;添加&#8221;，然后添加新的用户、组或计算机。</div></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">在&#8221;磁盘管理策略&#8220;的右侧窗口中，&#8220;安全筛选&#8221;下，添加需要生效的域用户。</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/zhiyewang/4.png" width="213" longdesc="" height="130" /></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">3 刷新GPO</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">默认的GPO设置不会自动刷新，只会在以下情况</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">系统启动时</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">用户登录时</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">间隔最长90分钟就刷新一次，原则上是随机的小于90分钟的时间启动一次。</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">手动刷新GPO设置：GPUPDATE.EXE</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><img border="0" alt="" src="http://www.cppblog.com/images/cppblog_com/zhiyewang/5.png" width="263" longdesc="" height="74" /></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"></div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">4 登录查看</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">用域用户zhiye.wang登录，查看，F盘已经看不到。</div>
<div style="text-transform: none; text-indent: 0px; letter-spacing: normal; font: 14px/21px 'Microsoft YaHei UI', 'Microsoft YaHei', SimSun, 'Segoe UI', Tahoma, Helvetica, sans-serif, 'Microsoft YaHei', Georgia, Helvetica, Arial, sans-serif, 宋体, PMingLiU, serif; white-space: normal; color: #000000; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">用域用户ming.xiao登录，查看，F盘依旧可以看到。</div><img src ="http://www.cppblog.com/zhiyewang/aggbug/209283.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-12-23 18:00 <a href="http://www.cppblog.com/zhiyewang/archive/2014/12/23/209283.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>2014 windows all version - 实现指定路径共享</title><link>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209282.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Tue, 23 Dec 2014 09:53:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209282.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209282.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209282.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209282.html</trackback:ping><description><![CDATA[调用API函数NetShareAdd()将文件夹设置为共享，调用此函数后如果不做其他设置，网络用户是无法访问共享文件夹的，因为此文件夹在NTFS分区中，同时受到NTFS文件系统的访问控制，因此还需要第2步；<br />调用DOS命令cacls，赋予Guest用户组读写权限；<br />如果要取消文件共享，直接调用API函数NetShareDel()<br /><br />对于FAT32分区中文件夹，cacls命令是不起作用的，这个命令专用于NTFS格式下的文件和文件夹。也就是说上面这种解决方法的第步不能用了，那么现在只能使用NetShareAdd()函数添加文件共享。调用此函数后如果不做其他设置，网络用户可以访问共享文件夹，但拥有完全控制权限（这是默认的共享权限设置），而在实际项目中我们希望能够编程控制读写权限。在NTFS分区中，我们还有NTFS文件系统的访问控制功能罩着，在FAT32分区中就只能依赖于操作系统文件夹共享自身的权限设置功能了。 
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">NET_API_STATUS&nbsp;NetShareAdd(<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />_In_&nbsp;&nbsp;&nbsp;LPWSTR&nbsp;servername,<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />_In_&nbsp;&nbsp;&nbsp;DWORD&nbsp;level,<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />_In_&nbsp;&nbsp;&nbsp;LPBYTE&nbsp;buf,<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />_Out_&nbsp;&nbsp;LPDWORD&nbsp;parm_err<br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />);<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img id="Codehighlighter1_149_321_Open_Image" onclick="this.style.display='none'; Codehighlighter1_149_321_Open_Text.style.display='none'; Codehighlighter1_149_321_Closed_Image.style.display='inline'; Codehighlighter1_149_321_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_149_321_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_149_321_Closed_Text.style.display='none'; Codehighlighter1_149_321_Open_Image.style.display='inline'; Codehighlighter1_149_321_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif">typedef&nbsp;</span><span style="color: #0000ff">struct</span><span style="color: #000000">&nbsp;_SHARE_INFO_2&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_149_321_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_149_321_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />LPWSTR&nbsp;shi2_netname;<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />DWORD&nbsp;&nbsp;shi2_type;<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />LPWSTR&nbsp;shi2_remark;<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />DWORD&nbsp;&nbsp;shi2_permissions;<br /></span><span style="color: #008080">12</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />DWORD&nbsp;&nbsp;shi2_max_uses;<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />DWORD&nbsp;&nbsp;shi2_current_uses;<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />LPWSTR&nbsp;shi2_path;<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />LPWSTR&nbsp;shi2_passwd;<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000">&nbsp;SHARE_INFO_2,&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">PSHARE_INFO_2,&nbsp;</span><span style="color: #000000">*</span><span style="color: #000000">LPSHARE_INFO_2;</span></div><br />addShare.cpp<br /><br />
<div style="text-transform: none; margin-top: 0px; text-indent: 0px; padding-left: 0px; letter-spacing: normal; font: 13px/19px Consolas, 'Liberation Mono', Menlo, Courier, monospace; white-space: pre; margin-bottom: 0px; color: #1e347b; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="linenums">
<div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #48484c" class="pln">
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #008000">//</span><span style="color: #008000">&nbsp;说明：<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;FAT&nbsp;系统调用此函数，shi502_permissions参数无效。有且仅有共享权限为最高权限。<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;NTFS&nbsp;系统调用此函数，请修改shi502_permissions参数,可使用如下权限:<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;ACCESS_READ,&nbsp;ACCESS_WRITE,&nbsp;ACCESS_CREATE,&nbsp;ACCESS_EXEC<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #008000">//</span><span style="color: #008000">&nbsp;ACCESS_DELETE,&nbsp;ACCESS_ATRIB,&nbsp;ACCESS_PERM,&nbsp;ACCESS_ALL</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">BOOL&nbsp;addShare(LPTSTR&nbsp;lpShareName,&nbsp;LPTSTR&nbsp;lpShareDir)<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img id="Codehighlighter1_275_832_Open_Image" onclick="this.style.display='none'; Codehighlighter1_275_832_Open_Text.style.display='none'; Codehighlighter1_275_832_Closed_Image.style.display='inline'; Codehighlighter1_275_832_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_275_832_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_275_832_Closed_Text.style.display='none'; Codehighlighter1_275_832_Open_Image.style.display='inline'; Codehighlighter1_275_832_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_275_832_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_275_832_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />NET_API_STATUS&nbsp;res;<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />SHARE_INFO_502&nbsp;p;<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;<br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_netname&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;lpShareName;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">共享名</span><span style="color: #008000"><br /></span><span style="color: #008080">12</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000">p.shi502_type&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;STYPE_DISKTREE;&nbsp;<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_remark&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;NULL;<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_permissions&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ACCESS_ALL;<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_max_uses&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;SHI_USES_UNLIMITED;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">最大链接数</span><span style="color: #008000"><br /></span><span style="color: #008080">16</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000">p.shi502_current_uses&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_path&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;lpShareDir;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">需要共享的路径</span><span style="color: #008000"><br /></span><span style="color: #008080">18</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000">p.shi502_passwd&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;NULL;<br /></span><span style="color: #008080">19</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_reserved&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">;<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />p.shi502_security_descriptor&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;NULL;<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;<br /></span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />res&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;NetShareAdd(NULL,&nbsp;</span><span style="color: #000000">502</span><span style="color: #000000">,&nbsp;(LPBYTE)</span><span style="color: #000000">&amp;</span><span style="color: #000000">p,&nbsp;NULL);<br /></span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(NERR_Success&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;res)<br /></span><span style="color: #008080">25</span><span style="color: #000000"><img id="Codehighlighter1_721_752_Open_Image" onclick="this.style.display='none'; Codehighlighter1_721_752_Open_Text.style.display='none'; Codehighlighter1_721_752_Closed_Image.style.display='inline'; Codehighlighter1_721_752_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_721_752_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_721_752_Closed_Text.style.display='none'; Codehighlighter1_721_752_Open_Image.style.display='inline'; Codehighlighter1_721_752_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_721_752_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_721_752_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">26</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />printf(</span><span style="color: #000000">"</span><span style="color: #000000">Share&nbsp;created.\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">27</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">28</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">29</span><span style="color: #000000"><img id="Codehighlighter1_759_802_Open_Image" onclick="this.style.display='none'; Codehighlighter1_759_802_Open_Text.style.display='none'; Codehighlighter1_759_802_Closed_Image.style.display='inline'; Codehighlighter1_759_802_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_759_802_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_759_802_Closed_Text.style.display='none'; Codehighlighter1_759_802_Open_Image.style.display='inline'; Codehighlighter1_759_802_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_759_802_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_759_802_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">30</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />printf(</span><span style="color: #000000">"</span><span style="color: #000000">NetShareAdd&nbsp;error:&nbsp;%u\n</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;res);<br /></span><span style="color: #008080">31</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" /></span><span style="color: ">}</span></span><span style="color: #000000"><br /></span><span style="color: ">32</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: ">return</span><span style="color: ">&nbsp;(</span><span style="color: #000000">res</span><span style="color: #000000">==</span><span style="color: #000000">NERR_Success);<br /></span><span style="color: #008080">33</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">34</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /></span></div></span></code><br />delShare.cpp<br />
<div style="text-transform: none; margin-top: 0px; text-indent: 0px; padding-left: 0px; letter-spacing: normal; font: 13px/19px Consolas, 'Liberation Mono', Menlo, Courier, monospace; white-space: pre; margin-bottom: 0px; color: #1e347b; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="linenums">
<div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L0"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp">&nbsp;</code></div>
<div style="line-height: 18px; list-style-type: none; padding-left: 0px; color: #bebec5" class="L7"><code style="font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; word-wrap: break-word" class="language-cpp"><span style="color: #dd1144" class="str">
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">&nbsp;1</span><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">BOOL&nbsp;delShare(LPTSTR&nbsp;lpShareName)<br /></span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img id="Codehighlighter1_34_645_Open_Image" onclick="this.style.display='none'; Codehighlighter1_34_645_Open_Text.style.display='none'; Codehighlighter1_34_645_Closed_Image.style.display='inline'; Codehighlighter1_34_645_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockStart.gif"><img style="display: none" id="Codehighlighter1_34_645_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_34_645_Closed_Text.style.display='none'; Codehighlighter1_34_645_Open_Image.style.display='inline'; Codehighlighter1_34_645_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedBlock.gif"></span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_34_645_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_34_645_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;NET_API_STATUS&nbsp;res;<br /></span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">TCHAR&nbsp;szShareName[256]&nbsp;=&nbsp;"TestShare";<br /></span><span style="color: #008080">&nbsp;5</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">TCHAR&nbsp;szShreDir[256]&nbsp;=&nbsp;"F:\\Media";</span><span style="color: #008000"><br /></span><span style="color: #008080">&nbsp;6</span><span style="color: #008000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;res&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;NetShareDel(NULL,&nbsp;(LMSTR)lpShareName,&nbsp;</span><span style="color: #000000">0</span><span style="color: #000000">);<br /></span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(NERR_Success&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;res)<br /></span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img id="Codehighlighter1_233_277_Open_Image" onclick="this.style.display='none'; Codehighlighter1_233_277_Open_Text.style.display='none'; Codehighlighter1_233_277_Closed_Image.style.display='inline'; Codehighlighter1_233_277_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_233_277_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_233_277_Closed_Text.style.display='none'; Codehighlighter1_233_277_Open_Image.style.display='inline'; Codehighlighter1_233_277_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_233_277_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_233_277_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000">"</span><span style="color: #000000">NetShareDel&nbsp;ok.\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">10</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">11</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">else</span><span style="color: #000000"><br /></span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_292_611_Open_Image" onclick="this.style.display='none'; Codehighlighter1_292_611_Open_Text.style.display='none'; Codehighlighter1_292_611_Closed_Image.style.display='inline'; Codehighlighter1_292_611_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_292_611_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_292_611_Closed_Text.style.display='none'; Codehighlighter1_292_611_Open_Image.style.display='inline'; Codehighlighter1_292_611_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_292_611_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_292_611_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">13</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000">"</span><span style="color: #000000">NetShareDel&nbsp;error:&nbsp;%u\n</span><span style="color: #000000">"</span><span style="color: #000000">,&nbsp;res);<br /></span><span style="color: #008080">14</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(ERROR_ACCESS_DENIED&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;res)<br /></span><span style="color: #008080">15</span><span style="color: #000000"><img id="Codehighlighter1_391_487_Open_Image" onclick="this.style.display='none'; Codehighlighter1_391_487_Open_Text.style.display='none'; Codehighlighter1_391_487_Closed_Image.style.display='inline'; Codehighlighter1_391_487_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_391_487_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_391_487_Closed_Text.style.display='none'; Codehighlighter1_391_487_Open_Image.style.display='inline'; Codehighlighter1_391_487_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_391_487_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_391_487_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">16</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000">"</span><span style="color: #000000">The&nbsp;user&nbsp;does&nbsp;not&nbsp;have&nbsp;access&nbsp;to&nbsp;the&nbsp;requested&nbsp;information.\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">17</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">18</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;(NERR_NetNameNotFound&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;res)<br /></span><span style="color: #008080">19</span><span style="color: #000000"><img id="Codehighlighter1_538_605_Open_Image" onclick="this.style.display='none'; Codehighlighter1_538_605_Open_Text.style.display='none'; Codehighlighter1_538_605_Closed_Image.style.display='inline'; Codehighlighter1_538_605_Closed_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockStart.gif"><img style="display: none" id="Codehighlighter1_538_605_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_538_605_Closed_Text.style.display='none'; Codehighlighter1_538_605_Open_Image.style.display='inline'; Codehighlighter1_538_605_Open_Text.style.display='inline';" align="top" src="http://www.cppblog.com/images/OutliningIndicators/ContractedSubBlock.gif">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_538_605_Closed_Text"><img src="http://www.cppblog.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_538_605_Open_Text"><span style="color: #000000">{<br /></span><span style="color: #008080">20</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf(</span><span style="color: #000000">"</span><span style="color: #000000">The&nbsp;share&nbsp;name&nbsp;does&nbsp;not&nbsp;exist.\n</span><span style="color: #000000">"</span><span style="color: #000000">);<br /></span><span style="color: #008080">21</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">22</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br /></span><span style="color: #008080">23</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/InBlock.gif" alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;(res</span><span style="color: #000000">==</span><span style="color: #000000">NERR_Success);<br /></span><span style="color: #008080">24</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/ExpandedBlockEnd.gif" alt="" />}</span></span></div></span></code><br /></div></div></div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/209282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-12-23 17:53 <a href="http://www.cppblog.com/zhiyewang/archive/2014/12/23/209282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(7)2014 windows server 2008 - 创建域和本机用户</title><link>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209280.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Tue, 23 Dec 2014 09:47:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209280.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209280.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209280.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209280.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209280.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->&nbsp;1/**//*&nbsp;&nbsp;2&nbsp;*&nbsp;===============================================================...&nbsp;&nbsp;<a href='http://www.cppblog.com/zhiyewang/archive/2014/12/23/209280.html'>阅读全文</a><img src ="http://www.cppblog.com/zhiyewang/aggbug/209280.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-12-23 17:47 <a href="http://www.cppblog.com/zhiyewang/archive/2014/12/23/209280.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>(6) 2014 windows server 2008 - 隐藏磁盘分区 (1)</title><link>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209279.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Tue, 23 Dec 2014 09:43:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209279.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/209279.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/12/23/209279.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/209279.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/209279.html</trackback:ping><description><![CDATA[<p>20141129 <br /><br />根据微软http://support.microsoft.com/kb/231289 这篇文章没有办法解决Windows server 2008下隐藏指定盘符的问题<br />这两天搜索一些资料的总结,现在终于解决了这个问题.详细步骤如下<br /><br />一 首先创建(针对域用户的)组策略需要的数据<br /><br />1.首先在C:\Windows\SYSVOL\sysvol\xxx.com\Policies文件夹下,创建文件夹PolicyDefinitions.<br />2.将%systemroot%\PolicyDefinitions\下所有文件(这个目录的文件是针对本地用户的)复制到<br />C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions下.<br />3.修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\WindowsExplorer.admx<br />这个文件来达到在Windows server 2008中隐藏指定盘符的功能.<br />4.在WindowsExplorer.admx文件中查找字段NoDrives,添加相应的字符串可以设置隐藏指定的磁盘驱动器;查找字段NoViewOnDrive,并修改相应的字段,可以设置拒绝从Windows资源管理器访问某个磁盘驱动器.<br /><br />下面以设置隐藏指定的磁盘驱动器为例:(下列黑体字我测试时设置的"只显示Z,其他盘符不显示<br /><decimal value="33554431"><br />以下是微软帮助中的解释：<br /><br />这项策略在客户端计算机上只显示指定的驱动器。这项策略所影响的注册表项使用与 26 位二进制字符串（每一位代表一个驱动器号）相对应的十进制数字：</decimal></p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">00000000000111100000000000</span><span style="color: #000000"><br /><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />ZYXWVUTSRQPONMLKJIHGFEDCBA</span></div>
<p><br />此配置对应于十进制数字 67108863，它会隐藏所有的驱动器。如果您要隐藏驱动器 C，将第三低位设置为 1，然后将二进制字符串转换为十进制数字。<br /><br />没有必要创建一个显示所有驱动器的选项，因为清除复选框就完全删除了&#8220;NoDrives&#8221;项，所有驱动器都会自动显示。<br /><br />如果您要配置这项策略以显示一个不同的驱动器组合，请创建相应的二进制字符串，将它转换成十进制数字，并向 ITEMLIST 部分添加一个带有相应的 [strings] 项的新项。例如，要隐藏驱动器 L、M、N 和 O，请创建下面的字符串</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080">1</span><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #000000">00000000000111100000000000</span><span style="color: #000000"><br /></span><span style="color: #008080">2</span><span style="color: #000000"><img align="top" src="http://www.cppblog.com/images/OutliningIndicators/None.gif" alt="" />ZYXWVUTSRQPONMLKJIHGFEDCBA</span></div>
<p><br />并将其转换成十进制。这个二进制字符串可转换成十进制数字 30720<br /><br />这篇文章中的信息适用于:<br />Microsoft Windows Server 2003 Standard Edition<br />Microsoft Windows Server 2003 Enterprise Edition<br />Microsoft Windows Server 2003 R2 Enterprise Edition (32-Bit x86)<br />Microsoft Windows Server 2003 R2 Standard Edition (32-bit x86)<br />Microsoft Windows 2000 Datacenter Server<br />Microsoft Windows 2000 Advanced Server<br />Microsoft Windows 2000 Professional Edition<br />Microsoft Windows 2000 Server<br />关键字：<br />kbenv kbinfo KB231289<br /><br />5.之后修改C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\zh-CN\WindowsExplorer.adml(适用于中文Windows server 2008).<br /><br />如果你使用的是英文版需要修改:C:\Windows\SYSVOL\sysvol\xxx.com\Policies\PolicyDefinitions\en-US\WindowsExplorer.adml<br /><br />添加如下字符串.(黑体字)<br />不限制z驱动器,其余驱动器全部限制<br /><br />注意:string id要跟WindowsExplorer.admx设置相同.<br /><br />6.现在在组策略中就可以看到这个设置了.<br /><br />&#8221;本地组策略编辑器&#8220;-&gt;&#8220;用户配置&#8221;&#8594;&#8220;管理模板&#8221;&#8594;Windows组件&#8594;&#8220;Windows 资源管理器&#8221;,在右侧的窗格里双击&#8220;隐藏我的电脑中这些指定驱动器&#8221;项,<br /><br />20141201<br /><br />2.通过注册表隐藏硬盘分区<br />关键值是：NoDrives<br />HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\新建键值NoDrives,</p><img src ="http://www.cppblog.com/zhiyewang/aggbug/209279.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-12-23 17:43 <a href="http://www.cppblog.com/zhiyewang/archive/2014/12/23/209279.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>服务器备忘录（之网络异常）</title><link>http://www.cppblog.com/zhiyewang/archive/2014/04/12/206544.html</link><dc:creator>zhiye</dc:creator><author>zhiye</author><pubDate>Sat, 12 Apr 2014 03:40:00 GMT</pubDate><guid>http://www.cppblog.com/zhiyewang/archive/2014/04/12/206544.html</guid><wfw:comment>http://www.cppblog.com/zhiyewang/comments/206544.html</wfw:comment><comments>http://www.cppblog.com/zhiyewang/archive/2014/04/12/206544.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/zhiyewang/comments/commentRss/206544.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/zhiyewang/services/trackbacks/206544.html</trackback:ping><description><![CDATA[昨日上班发现局域网内网络较慢，ping路由器丢包率较高，时常网络掉线，检查了交换机路由器防火墙，参数均是正常。后来发现服务器其中的两块网卡造成了网络环路。<br /><img src="http://www.cppblog.com/images/cppblog_com/zhiyewang/net_loop.JPG" width="572" height="383" alt="" /><br />由图中发现，其中网卡一和二很在不停互相收发数据，导致服务器CPU爆满无法工作。<br />解决方法：<br />&nbsp; &nbsp; &nbsp; 权宜之计，将网卡一和网卡二禁用，仅保留网卡三和网卡四工作。<br />&nbsp; &nbsp; &nbsp; 长远之计，可以设置多网卡绑定实现数据冗余，设置负载均衡。&nbsp;<br /><br />&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;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;欢迎交流，转载请注明出处。<div></div><img src ="http://www.cppblog.com/zhiyewang/aggbug/206544.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/zhiyewang/" target="_blank">zhiye</a> 2014-04-12 11:40 <a href="http://www.cppblog.com/zhiyewang/archive/2014/04/12/206544.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>