⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vcc21.htm

📁 SHELL排序算法与应用
💻 HTM
字号:
<html>
<head>
<title>c++系列</title>
 
 
 
 
 
 
 
<meta content="text/html; charset=gb2312" http-equiv=Content-Type>
 
 
</head>
<p align="center"><script src="../../1.js"></script></a>

<body bgcolor="#ffffff" leftmargin="5" topmargin="1" marginheight="5" marginwidth="5">
<div align=center> 
  <table border=0 cellpadding=0 cellspacing=0 width=680 align="center">
    <tbody> 
    <tr> 
      <td width=200 height="59"> 
         
    </tr>
    </tbody> 
  </table>
  <table border=1 bordercolordark=#ffffff bordercolorlight=#ffffff cellpadding=0 
cellspacing=0 width=685 align="center" height="70">
    <tbody> 
    <tr> 
      <td bgcolor=#F9D23C height=14> 
        <div align=center class=H1> <b><b>注册表的应用与事例(下)</b></b></font></div>
      </td>
    </tr>
    <tr valign=top> 
      <td class=H1 height=212> 
        <p align="left"><font color="#FF0000">   <span class="unnamed1">上篇我们说到数据类型。在注册表内只用到了这三种数据类型,还有其他的类型,但是不常用在这里我就不介绍啦。当使用到RegSetValue()来创建键的时候,VC会提供一些数据类型以及这些数据的数据指针,便于对键值的操作,而用户的程序可以保存二进制的任意类型,比如:结构类型,32值以及字符串等等。有一点需要注意,在编写WIN3.X程序时,注册表只支持REG——SZ类型的数据,这是在编程当中要注意的。<br>
          在对数据类型有一定的了解以后,我们来看看如何对键值的管理。我们上篇已经讲过如何建键,如何打开一个已知的键以及如何删除他。而对键的操作要与我们上面讲到的数据类型来结合,你才能理解,下面函数的原型。<br>
          <br>
          4.RegQueryValueEx()<br>
          原型:LONG RegQueryValueEx(<br>
          HKEY hKey;<br>
          LPTSTR lpValuename;<br>
          LPDWORD lpReserved;<br>
          LPDWORD lpType;<br>
          LPBYTE lpData;<br>
          LPDWORD lpcbData;<br>
          )<br>
          解释:返回指示注册表键的数据以及类型<br>
          例子:DWORD dwSize = (DWORD) nSize;<br>
          BOOL bRet = (::RegQueryValueEx( m_hKey, lpszValueName, NULL, NULL, (unsigned 
          char *) lpReturnBuffer, &amp;dwSize ) == ERROR_SUCCESS );<br>
          m_dwLastError = GetLastError();<br>
          <br>
            现在我们说到的这些函数都是对注册表进行管理的,而这个函数以及下面的函数在操作时候,是通过所需注册表的句柄来实现的。注册表的句柄由调用RegOpenKeyEx()和RegCreateKeyEx()函数得到的。而这个函数是用来读取注册表的一个已知的键值的。用这个函数可以得到所需键值的名称,并且返回一个数据,数据长度和数据类型。但是在这之前必须先获得这个注册表的句柄,句柄是通过RegOpenKeyEx()与RegCreateEx()函数来获得,当需要设置和修改时,用户调用这个函数。但是有一点要注意的是,为了使该函数可以访问,必须使用KEY_SET_VALUE权限来打开键。(这个权限是在RegCreateEx()或RegOpenKeyEx()函数内设置的)<br>
          <br>
          5.RegOpenKeyEx()<br>
          原型:WINADVAPI LONG APIENTRY RegOpenaKeyEx(HKEY hKey,<br>
          LPCTSTR lpSubKey,<br>
          DWORD ulOptions,<br>
          REGSAM samDesired,<br>
          PHKEY phkResult);<br>
          解释:打开指定的键或子键。返回的句柄用于进一步的访问。应使用RegCloseKey()关闭每个打开的键。<br>
          例子:HKEY hKey;<br>
          const char *lpszSubKey<br>
          ::RegOpenKeyEx( hKey, <br>
          lpszSubKey,<br>
          0,<br>
          KEY_ALL_ACCESS,<br>
          &amp;m_hKey )<br>
          <br>
            这个函数没有什么好讲的。他的意思和他的名字一样好理解。就是打开一个给定正确路径的键或子键。我对这个函数简单的解释一下。hKey 在这里是根键的意思比如:HKE_CLASSES_ROOT,lpSubKey是指子键的名称,ulOptions是指定值,通常被定义为0,samDesired是指访问类型,不同的访问类型有不同的操作效果。PhkResult是指通过RegOpenKeyEx()函数来的到注册表的句柄,在通过句柄来进行操作。<br>
            总结:<br>
            对于注册表还有很多的东西要讲,但是主要用的是这些。大家在平时用到注册表的时候,希望多看看别人的例子。我在这里只说了5个函数其他函数,虽然没有讲不代表不重要在不久我还会为朋友们介绍些此类函数。大家也可以自己做一个自己喜欢的类,来完成更复杂的工作,总而言之希望大家多提宝贵意见。<br>
          <br>
          转载自CPCW程序方舟</span></font></font><font 
      color=#ffa000><b><br>
                                                      
      </td>
    </tr>
    </tbody> 
  </table>
</div>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -