Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на WinApi, C++Builder, Visual C++


Информационный Канал Subscribe.Ru


<xBODY>
<TABLE cellSpacing=1 cellPadding=1 width="99%" align=center border=0 bgColor=black>
  <TR>
    <TD bgColor=#ffffff>
      <TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
        
        <TR bgColor=#495c89>
          <TD align=left width="50%"><STRONG><FONT size=2><FONT 
            color=#ffffff><FONT face=Arial>Выпуск № 40-2003</FONT></FONT></FONT></STRONG></TD>
          <TD align=right width="50%"><STRONG><FONT size=2><FONT 
            ><A href="http://BCBDEV.ru"><FONT face=Arial color=lemonchiffon>BCBDEV.RU</FONT></A>

        </FONT></FONT></STRONG></TD></TR></TABLE></TD></TR></TABLE><BR>
<TABLE cellSpacing=1 cellPadding=1 width="99%" align=center border=0 id=TABLE1
bgColor=black>
  
  <TR>
    <TD bgColor=#ffffff>
      <TABLE cellSpacing=0 cellPadding=5 width="100%" border=0 
      bgColor=black>
        
        <TR bgColor=#dddddd>
          <TD align=left>
            <P><STRONG>Здравствуйте уважаемые 
            подписчики!</STRONG>    
          </P></TD></TR></TABLE>Перед вами 
      очередной выпуск рассылки "Программирование на WinApi" <BR>Переводы многих
функций Win32API, которые часто используются 
      в данной рассылке,&nbsp;вы можете получать, подписавшись на дружественную

      рассылку "<A 
      href="http://subscribe.ru/catalog/comp.soft.prog.winapi19743"; target=_blank>WinAPI
на 
      русском</A>". <BR>Справочник по функциям Win32API вы 
      можете посмотреть на сайте <A 
      href="http://BCBDEV.ru">BcbDev.ru</A>; в разделе <A 
      href="http://www.bcbdev.ru/msdn/index.php"; target=_blank>MSDN 
      по-русски</A>.        
        
           
      </TD></TR></TABLE><BR>
<TABLE id=TABLE1 cellSpacing=1 cellPadding=1 width="99%" align=center 
bgColor=black border=0>
  
  <TR>
    <TD bgColor=#ffffff>
      <TABLE cellSpacing=0 cellPadding=5 width="100%" bgColor=black border=0>
        
        <TR bgColor=#dddddd>
          <TD align=left><STRONG>Как добавить новую запись 
            в системный реестр? (Работа с реестром 
      2)</STRONG>    
             </TD></TR></TABLE>Этот код добавляет новую строковую 
      запись в системный реестр в раздел HKEY_CURRENT_USER.<PRE><B><FONT color=#0000ff>#include
</B></FONT><FONT color=#ff0000>&lt;</FONT><FONT color=#000000>windows</FONT><FONT
color=#ff0000>.</FONT><FONT color=#000000>h</FONT><FONT color=#ff0000>&gt;
<B></FONT><FONT color=#0000ff>static </B></FONT><FONT color=#000000>REGSAM PrimarySecAccMask</FONT><FONT
color=#ff0000>=</FONT><FONT color=#000000>KEY_QUERY_VALUE         </FONT><FONT
color=#ff0000>|
                                </FONT><FONT color=#000000>KEY_SET_VALUE    
      </FONT><FONT color=#ff0000>|
                                </FONT><FONT color=#000000>KEY_CREATE_SUB_KEY
     </FONT><FONT color=#ff0000>|
                                </FONT><FONT color=#000000>KEY_ENUMERATE_SUB_KEYS
 </FONT><FONT color=#ff0000>|
                                </FONT><FONT color=#000000>KEY_NOTIFY ;


LONG WINAPI MyRegSetString (<B></FONT><FONT color=#0000ff>const char </B></FONT><FONT
color=#ff0000>* </FONT><FONT color=#000000>szSection, 
                            <B></FONT><FONT color=#0000ff>const char </B></FONT><FONT
color=#ff0000>* </FONT><FONT color=#000000>szEntry,
                            <B></FONT><FONT color=#0000ff>const char </B></FONT><FONT
color=#ff0000>* </FONT><FONT color=#000000>szValue)
{ 
   <B></FONT><FONT color=#0000ff>char </B></FONT><FONT color=#000000>szTreeBranch
[120] ;
   HKEY hMasterKey      </FONT><FONT color=#ff0000>= </FONT><FONT color=#000000>0
;
   DWORD dwDisposition  </FONT><FONT color=#ff0000>= </FONT><FONT color=#000000>0
;
   HKEY hTopKey         </FONT><FONT color=#ff0000>= </FONT><FONT color=#000000>0
;
   LONG lReturn         </FONT><FONT color=#ff0000>= </FONT><FONT color=#000000>0
;

   </FONT><FONT color=#008080>// Все параметры должны существовать.

   <B></FONT><FONT color=#0000ff>if </B></FONT><FONT color=#000000>(szSection
</FONT><FONT color=#ff0000>== </FONT><FONT color=#000000>NULL </FONT><FONT color=#ff0000>||
       </FONT><FONT color=#000000>szEntry   </FONT><FONT color=#ff0000>== </FONT><FONT
color=#000000>NULL </FONT><FONT color=#ff0000>||
       </FONT><FONT color=#000000>szValue   </FONT><FONT color=#ff0000>== </FONT><FONT
color=#000000>NULL)
   {
      <B></FONT><FONT color=#0000ff>return </B></FONT><FONT color=#000000>ERROR_INVALID_PARAMETER
;
   }

   </FONT><FONT color=#008080>// Выбираем нужный путь

   </FONT><FONT color=#000000>strcpy (szTreeBranch, "Software\\MyCompany\\MyProgram\\");
   strcat (szTreeBranch, szSection) ;
   hTopKey </FONT><FONT color=#ff0000>= </FONT><FONT color=#000000>HKEY_CURRENT_USER
;

   lReturn </FONT><FONT color=#ff0000>= </FONT><FONT color=#000000>RegCreateKeyEx
(hTopKey,
                             szTreeBranch,
                             0,
                             NULL, 
                             REG_OPTION_NON_VOLATILE,
                             PrimarySecAccMask,
                             NULL,
                             </FONT><FONT color=#ff0000>&amp;</FONT><FONT color=#000000>hMasterKey,
                             </FONT><FONT color=#ff0000>&amp;</FONT><FONT color=#000000>dwDisposition);

   <B></FONT><FONT color=#0000ff>if </B></FONT><FONT color=#000000>(lReturn </FONT><FONT
color=#ff0000>== </FONT><FONT color=#000000>ERROR_SUCCESS)
   {
      </FONT><FONT color=#008080>// раздел существует: записываем значение.

      </FONT><FONT color=#000000>lReturn </FONT><FONT color=#ff0000>= </FONT><FONT
color=#000000>RegSetValueEx (hMasterKey,
                               szEntry,
                               0,
                               REG_SZ,
                               (CONST BYTE </FONT><FONT color=#ff0000>*</FONT><FONT
color=#000000>) szValue,
                               strlen (szValue)</FONT><FONT color=#ff0000>+</FONT><FONT
color=#000000>1);
   }
   <B></FONT><FONT color=#0000ff>else
   </B></FONT><FONT color=#000000>{
      </FONT><FONT color=#008080>//&lt; что нибудь делаем &gt;
   </FONT><FONT color=#000000>}

   <B></FONT><FONT color=#0000ff>if </B></FONT><FONT color=#000000>(hMasterKey)
      RegCloseKey (hMasterKey);

   <B></FONT><FONT color=#0000ff>return </B></FONT><FONT color=#000000>lReturn
;
}

<B></FONT><FONT color=#0000ff>int </B></FONT><FONT color=#000000>WINAPI WinMain(HINSTANCE
hInst,HINSTANCE, LPTSTR , <B></FONT><FONT color=#0000ff>int</B></FONT><FONT color=#000000>)
{
    MyRegSetString("SECTION", "ENTRY", "VALUE");
<B></FONT><FONT color=#0000ff>return </B></FONT><FONT color=#000000>0;
}</FONT> </PRE>   
           
              
                
          
</TD></TR></TABLE><BR>
<TABLE cellSpacing=1 cellPadding=1 width="99%" align=center bgColor=black 
border=0>
  
  <TR>
    <TD bgColor=#ffffff>
      <TABLE cellSpacing=0 cellPadding=2 width="100%" border=0>
        
        <TR bgColor=#495c89>
          <TD align=left width="50%"><FONT><FONT><FONT><FONT 
            color=lemonchiffon>Удачи Вам в Ваших делах</FONT> 
            </FONT></FONT></FONT></TD>
          <TD align=right width="50%"><A 
            href="mailto:jugger@mail.ru"><FONT color=lemonchiffon>Куковинец Андрей
aka 
            Juggernaut</FONT></A> 
              
</TD></TR></TABLE></TD></TR></TABLE>

<x/BODY>

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное