Bagaimana menulis DWORD ke registri

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 258262 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

RINGKASAN

Kadang-kadang hal ini diperlukan untuk menulis informasi ke registri. Artikel ini menunjukkan bagaimana menulis REG_DWORD nilai untuk kunci yang dibuat dalam registri untuk artikel ini. Jika Anda menulis nilai tidak sudah ada, Anda perlu untuk menambahkannya.

INFORMASI LEBIH LANJUT

PENTING: Artikel ini berisi informasi tentang pengubahan registri. Sebelum Anda memodifikasi registri, pastikan membuat cadangan dan pastikan bahwa Anda paham bagaimana memulihkan registri apabila ada masalah. Untuk informasi tentang cara membuat cadangan, memulihkan, dan mengedit registri, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
256986 Deskripsi Registri Microsoft Windows

PERINGATAN: Jika Anda menggunakan Peninjau Suntingan Registri secara tidak benar, Anda mungkin mengalami masalah serius yang mengharuskan Anda untuk menginstal ulang sistem operasi. Microsoft tidak dapat menjamin bahwa Anda dapat menyelesaikan masalah yang bermula dari menggunakan Peninjau Suntingan Registri. Menggunakan Peninjau Suntingan Registri risiko Anda sendiri.

Informasi tentang registry editor dalam artikel ini adalah untuk Microsoft Windows NT dan Microsoft Windows 2000. Jika Anda sedang menjalankan Microsoft Windows 9 X, Anda perlu menggunakan Regedit.exe bukan Regedt32.exe.

CATATAN: Artikel ini menggunakan kunci registri yang dibuat hanya untuk tujuan pengujian dan akan dihapus ketika Anda selesai pengujian.
  1. Mulai Penyunting Registri (Regedt32.exe).
  2. Cari kunci berikut ini di registri:
       HKEY_LOCAL_MACHINE\Software
    					
  3. Pada Mengedit menu, klik Menambahkan kunci, dan kemudian menambahkan kunci registri berikut:
       VfpREGTest
    					
  4. Pada Mengedit menu, klik Tambahkan nilai, dan kemudian menambahkan nilai registri berikut:
       Value Name: MyDWORD
       Data Type:  REG_DWORD
       Value:      0
    					
  5. Keluar dari Registry Editor.
  6. Dari Visual FoxPro, membuat sebuah program dan masukkan kode berikut:
    #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. Menjalankan kode yang dibuat di langkah 1. Kotak pesan muncul mengumumkan keberhasilan atau kegagalan fungsi. Anda dapat menggunakan regedt32.exe untuk memverifikasi bahwa nilai ditulis ke registri.
  8. Anda dapat mengganti nKey, cSubKey, cValue, dan nValueToWrite dengan informasi Anda untuk menulis ke registri.
(c) Microsoft Corporation 2000, All Rights Reserved. Kontribusi oleh Mark Barnard, Microsoft Corporation.

REFERENSI


Untuk informasi tambahan memperoleh nilai-nilai dari registri, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
244675 Bagaimana Bagaimanamenggunakanmodulini Windows Scripting Host untuk membaca, menulis, menghapus registri

Properti

ID Artikel: 258262 - Kajian Terakhir: 21 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Visual FoxPro 3.0 Standard Edition
  • Microsoft Visual FoxPro 5.0 Standard Edition
  • Microsoft Visual FoxPro 6.0 Professional Edition
Kata kunci: 
kbapi kbcodesnippet kbhowto kbregistry kbmt KB258262 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:258262

Berikan Masukan

 

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