Jak zapsat DWORD registru

Překlady článku Překlady článku
ID článku: 258262 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Souhrn

Někdy je nutné zapsat informace do registru. Tento článek ukazuje, jak zapisovat hodnoty REG_DWORD klíč vytvořen v registru tohoto článku. Pokud hodnota psaní již neexistuje, musíte jej přidat.

Další informace

Důležité: Tento článek obsahuje informace o úpravě registru. Před úpravami je nutné registr zazálohovat. Seznamte se také s postupem při obnovení registru v případě, že nastane problém. Informace o zálohování, obnovení a úpravě registru naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
256986Popis registru systému Microsoft Windows

Upozornění: Použijete-li Editor registru nesprávně, můžete způsobit vážné problémy, které mohou vyžadovat přeinstalaci operačního systému. Společnost Microsoft nemůže zaručit, že potíže vzniklé v důsledku nesprávného použití Editoru registru budete moci vyřešit. Editor registru používáte na vlastní nebezpečí.

Informace o Editoru registru v tomto článku je pro Microsoft Windows NT a Microsoft Windows 2000. Pokud se systémem Microsoft Windows 9 X, musíte použít Regedit.exe namísto Regedt32.exe.

Poznámka:V tomto článku používá klíč registru, který je vytvořen pouze pro účely testování a měly by být odstraněny po dokončení testování.
  1. Spusťte program Editor registru (Regedt32.exe).
  2. Vyhledejte následující klíč registru:
       HKEY_LOCAL_MACHINE\Software
    					
  3. V nabídce Úpravy klepněte na příkaz Přidat klíč a poté přidejte následující klíč registru:
       VfpREGTest
    					
  4. V nabídce Úpravy klepněte na příkaz Přidat hodnotu a přidejte následující hodnotu registru:
       Value Name: MyDWORD
       Data Type:  REG_DWORD
       Value:      0
    					
  5. Ukončete program Editor registru.
  6. Z Visual FoxPro, vytvořit program a zadejte následující kód:
    #DEFINE HKEY_CLASSES_ROOT           -2147483648
    #DEFINE HKEY_CURRENT_USER           -2147483647
    #DEFINE HKEY_LOCAL_MACHINE          -2147483646
    #DEFINE HKEY_USERS                  -2147483645
    
    LOCAL nKey, cSubKey, cValue, nValueToWrite, lSuccess
    nKey = HKEY_LOCAL_MACHINE
    nValueToWrite = 1
    cSubKey = "Software\VfpREGTest"
    cValue = "MyDWORD"
    
    lSuccess = WriteRegDWORD(nKey, cSubKey, cValue, nValueToWrite)
    
    IF (lSuccess) THEN
       =MESSAGEBOX("Function Successful.")
    ELSE
       =MESSAGEBOX("Function Not Successful.")
    ENDIF
    
    FUNCTION WriteRegDWORD
       * This function writes a REG_DWORD to the registry. It will return .T.
       * if successful and .F. if it isn't successful.
       PARAMETERS  nKey, cSubKey, cValue,  nValueToWrite
       * nKey The root key to open. It can be any of the constants defined below.
       *#DEFINE HKEY_CLASSES_ROOT           -2147483648
       *#DEFINE HKEY_CURRENT_USER           -2147483647
       *#DEFINE HKEY_LOCAL_MACHINE          -2147483646
       *#DEFINE HKEY_USERS                  -2147483645
       *cSubKey The SubKey to open.
       *cValue The value that is going to be written.
       *nValueToWrite The value to write to the registry
    
       * Constants that are needed for Registry functions
       #DEFINE REG_DWORD   4
    
       * WIN 32 API functions that are used
       DECLARE Integer RegOpenKey IN Win32API ;
          Integer nHKey, String @cSubKey, Integer @nResult
       DECLARE Integer RegSetValueEx IN Win32API ;
          Integer hKey, String lpszValueName, Integer dwReserved,;
          Integer fdwType, String lpbData, Integer cbData
       DECLARE Integer RegCloseKey IN Win32API Integer nHKey
    
       * Local variables used
       LOCAL nErrCode          && Error Code returned from Registry functions
       LOCAL nKeyHandle        && Handle to Key that is opened in the Registry
       LOCAL lpdwValueType     && Type of Value that we are looking for.
       LOCAL lpbValue          && The data stored in the value
       LOCAL lpcbValueSize     && Size of the variable
       LOCAL lpdwReserved      && Reserved Must be 0
    
       * Initialize the variables
       nKeyHandle = 0
       lpdwReserved = 0           
       lpdwValueType = REG_DWORD
       lpcbValueSize = 4     && DWORD is 4 bytes
    
       lpbValue = LongToStr(nValueToWrite)
    
       nErrCode = RegOpenKey(nKey, cSubKey, @nKeyHandle)
       * If the error code isn't 0, then the key doesn't exist or can't be opened.
       IF (nErrCode # 0) THEN
          RETURN .F.
       ENDIF
    
       nErrCode=RegSetValueEx(nKeyHandle, cValue, lpdwReserved, lpdwValueType, lpbValue, lpcbValueSize)
       =RegCloseKey(nKeyHandle)
       IF (nErrCode # 0) THEN
          RETURN .F.
       ENDIF
    RETURN .T.
    
    FUNCTION LongToStr
    * This function converts a long to a string
       PARAMETERS nLongVal
       LOCAL nLoopVar, strReturn
    
       strReturn = ""
       FOR nLoopVar = 24 TO 0 STEP -8
          strReturn = CHR(INT(nLongVal/(2^nLoopVar))) + strReturn
          nLongVal = MOD(nLongVal, (2^nLoopVar))
       NEXT
    RETURN strReturn
    * End of Code
    					
  7. Spustit kód vytvořený v kroku 1. Oznamování úspěch nebo neúspěch funkce se zobrazí okno zprávy. Regedt32.exe můžete ověřit, že byl do registru zapsána hodnota.
  8. Můžete nahradit nKey, cSubKey, cValue a nValueToWrite informace zapsány do registru.
(c) Microsoft Corporation 2000 všechny rezervované práv. Příspěvky označit Barnard, Microsoft Corporation.

Odkazy


Další informace o získání hodnoty z registru klepněte na článek číslo článku databáze Microsoft Knowledge Base:
244675Jak ToUse Windows Script Host k číst, zapisovat, odstranit registru

Vlastnosti

ID článku: 258262 - Poslední aktualizace: 15. července 2004 - Revize: 2.2
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft Visual FoxPro 3.0b Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 5.0a
  • Microsoft Visual FoxPro 6.0 Professional Edition
Klíčová slova: 
kbmt kbapi kbcodesnippet kbhowto kbregistry KB258262 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:258262

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com