Select the product you need help with
Cara menggunakan registri API untuk menyimpan dan mengambil pengaturanID Artikel: 145679 - Melihat produk di mana artikel ini berlaku. Pada Halaman iniRINGKASANMeskipun Visual Basic meliputi fungsi SaveSetting dan GetSetting
untuk menyimpan dan mengambil informasi dari registri, fungsi-fungsi ini hanya
beroperasi pada bagian tertentu dari registri, Visual Basic dan VBA
Program pengaturan HKEY_CURRENT_USER akar kunci. Artikel ini menguraikan penggunaan fungsi Windows API 32-bit, yang dapat digunakan untuk menetapkan dan mengambil nilai dari mana saja di registri. Topik dan fungsi referensi dalam artikel ini dapat dirampatkan ke program 16-bit registri. API 32-bit fungsi juga termasuk dukungan untuk keamanan, meskipun Ikhtisar keamanan adalah di luar cakupan artikel ini. Catatan: Fungsi SaveSetting dan GetSetting bukan merupakan bagian dari VBA fungsi perpustakaan. Namun, kode contoh di bawah ini masih berlaku untuk 32-bit aplikasi yang menerapkan VBA. INFORMASI LEBIH LANJUTInformasi registri umumRegistri yang digunakan oleh aplikasi dan Windows untuk menyimpan konfigurasi data. Itu adalah pengganti untuk sejumlah besar INI file yang pengkembang pada Windows 3.x mesin dan juga digunakan berat oleh OLE.Registri diatur menggunakan serangkaian hirarkis kunci dan nilai-nilai menyerupai sebuah pohon. Setiap tombol, dimulai dengan salah satu enam standar kunci, dapat memiliki sub-keys dan nilai-nilai yang terkait dengannya. Tombol yang organisasi dan penamaan unit dan muncul dalam Windows Registry Editor sebagai file folder. Nilai-nilai entri data dan muncul sebagai entri teks dalam pane kanan Peninjau Suntingan Registri. Kunci tidak perlu apapun terkait nilai-nilai, tetapi mungkin memiliki banyak. Setiap nilai memiliki tipe data terkait. Dua jenis data registri yang paling sering digunakan adalah REG_SZ, null-dihentikan string; dan REG_DWORD, nomor 32-bit. Proses dasar yang digunakan untuk menulis atau membaca dari lokasi di registri Sama. Untuk referensi kunci tertentu atau nilai, Anda harus memiliki pegangan untuk tombol. Setelah menangani ini diperoleh, nilai-nilai dan sub-keys kunci yang mengacu pada pegangan ini dapat dibaca, mengatur, atau terdaftar (disebutkan). Diberikan sebuah lokasi di registri, untuk mendapatkan pegangan yang kunci, Anda harus mulai dengan salah satu tombol standar enam (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, dan HKEY_DYN_DATA) dan melintasi pohon registri sampai tombol yang diinginkan mencapai. Program-program pengguna paling sering membaca dan menulis dari HKEY_CURRENT_USER dan HKEY_LOCAL_MACHINE. Jika tombol yang dilalui sudah ada, Anda dapat menggunakan serangkaian panggilan ke fungsi RegOpenKey atau RegOpenKeyEx. Jika tombol perlu dibuat, fungsi RegCreateKey dan RegCreateKeyEx melakukan pekerjaan. Dengan menangani ke tombol yang dikehendaki, fungsi digunakan untuk daftar, mengatur, dan mengambil informasi dapat disebut. Dalam semua kasus, fungsi dengan Ex akhiran akan bekerja hanya pada 32-bit platform. Fungsi tanpa akhiran mungkin bekerja pada 16-bit dan 32-bit versi Windows. Perlu diingat bahwa tidak semua fungsi registri yang kurang 'Ex' akhiran adalah fungsi yang disediakan untuk 16-bit kompatibilitas. Akhiran Ex hanya ditambahkan ketika kemampuan 16-bit fungsi diperluas. Fungsi yang sama sekali baru dan khusus untuk 32-bit platform tidak memiliki ekstensi mantan. Fungsi RegSetValue dan RegSetValueEx memungkinkan pengaturan nilai diubah, sementara mengambil RegQueryValue dan RegQueryValueEx Current pengaturan nilai. Keterbatasan non-Ex, 16-bit versi api ini sangat jelas di sini. Ketika menggunakan RegSetValue 16-bit fungsi ada adalah tidak ada cara untuk nama nilai, dan karena ini, RegSetValue tidak dapat digunakan untuk menghubungkan nilai lebih dari satu dengan kunci masing-masing. Sebagai tambahan semua nilai ditulis dengan RegSetValue memiliki tipe data REG_SZ. Ini keterbatasan melekat dengan Registry 16-bit. RegSetValueEx memungkinkan pembentukan sejumlah beberapa nilai-nilai dengan setiap jenis data yang tersedia. Bagaimana menulis ke lokasi registri tertentuSetelah menentukan apa fungsi yang Anda akan perlu menggunakan untuk proyek Anda, salinan yang relevan menyatakan dari kode pada akhir artikel ini untuk modul dasar. Prosedur Visual Basic dua termasuk (SetValueEx dan QueryValueEx) adalah pembungkus untuk RegSetValueEx dan RegQueryValueEx API fungsi dan sangat menyederhanakan penggunaan mereka. Catatan di bawah ini membuat menggunakan ini Visual Basic functions; Namun, bebas untuk membuat panggilan langsung ke API jika Anda inginkan.Menciptakan/memodifikasi kunci dan nilai-nilai: Dengan Deklarasi dan prosedur yang tersedia, Anda dapat membuat dan membuka tombol, dan menambahkan, memodifikasi, dan membaca nilai-nilai. Bagian berikut tiga menjelaskan cara membuat kunci, mengatur atau mengubah nilai, dan permintaan nilai. Membuat kunci baru: Membuat kunci baru yang sederhana seperti menggunakan prosedur berikut. CreateNewKey mengambil nama kunci untuk membuat, dan terus-menerus mewakili tombol standar untuk menciptakan kunci di bawah. Panggilan untuk RegCreateKeyEx tidak mengambil keuntungan dari mekanisme keamanan yang diizinkan, tapi bisa diubah untuk melakukannya. Diskusi registri keamanan di luar ruang lingkup artikel ini. Dengan prosedur ini panggilan dari: akan menciptakan sebuah kunci yang disebut TestKey di bawah HKEY_LOCAL_MACHINE. Memanggil CreateNewKey seperti ini: akan membuat bersarang tiga kunci dimulai dengan TestKey segera di bawah HKEY_CURRENT_USER, SubKey1 subordinate untuk TestKey, dan SubKey3 di bawah SubKey2. Pengaturan/memodifikasi nilai: Membuat dan menetapkan nilai kunci tertentu dapat dicapai dengan short prosedur berikut. SetKeyValue mengambil kunci yang nilai akan dikaitkan dengan nama nilai, menetapkan nilai, dan jenis nilai (fungsi SetValueEx hanya mendukung REG_SZ dan REG_DWORD, tetapi ini dapat diubah jika diperlukan). Menentukan nilai baru untuk sValueName ada akan mengubah pengaturan saat ini nilai. Panggilan: akan menciptakan nilai jenis REG_SZ disebut "StringValue" dengan setting "Halo." Nilai ini akan dikaitkan dengan kunci SubKey1 "TestKey." Dalam kasus ini, "TestKey" adalah subkunci HKEY_CURRENT_USER, tetapi ini dapat diubah dengan mengubah panggilan untuk RegOpenKeyEx. Panggilan ini akan gagal jika "TestKey\SubKey1" tidak ada. Untuk menghindari masalah ini, gunakan panggilan untuk RegCreateKeyEx bukannya panggilan untuk RegOpenKeyEx. RegCreateKeyEx akan terbuka kunci tertentu jika sudah ada. Query nilai: Prosedur berikutnya dapat digunakan untuk memastikan pengaturan yang ada nilai. QueryValue mengambil nama kunci dan nama nilai terkait dengan kunci dan menampilkan pesan kotak dengan yang sesuai nilai. Menggunakan panggilan untuk pembungkus QueryValueEx fungsi yang didefinisikan di bawah ini, yang hanya mendukung jenis REG_SZ dan REG_DWORD. Dengan prosedur ini, panggilan dari: akan menampilkan kotak pesan dengan pengaturan saat ini "StringValue" nilai, dan mengasumsikan bahwa "StringValue" ada di tombol "TestKey\SubKey1". Jika nilai yang Anda permintaan tidak ada maka QueryValue akan kembali kode kesalahan 2 - 'ERROR_BADKEY'. Catatan tambahan: Contoh di atas menggunakan versi 32-bit diperpanjang registri fungsi secara eksklusif. Fungsi-fungsi ini memungkinkan lebih dari satu nilai untuk menjadi terkait dengan masing-masing kunci. Seperti yang dibahas di atas, RegSetValue 16-bit dan RegQueryValue UU pada nilai tunggal yang terkait dengan tombol saat ini (yang ini selalu jenis REG_SZ). Fungsi-fungsi ini muncul dalam 32-bit Peninjau Suntingan Registri dengan nama <no name="">. Untuk mengatur, mengubah, atau permintaan ini nilai terkait khusus, salah satu harus menggunakan fungsi 16-bit registri. Membaca dan menulis dari registri di lingkungan 16-bit adalah banyak lebih sederhana daripada di lingkungan 32-bit. Prosedur dasar yang sama mengikuti: Buka kunci dan mendapatkan pegangan dan kemudian memanggil fungsi modifikasi Anda dengan yang menangani, tetapi tidak ada pertimbangan perlu dibuat untuk beberapa terkait nilai-nilai atau untuk tipe data nilai yang berbeda. Aplikasi 16-bit yang dapat membuat dan memodifikasi kunci dan nilai-nilai dengan Deklarasi RegCreateKey, Fungsi RegOpenKey, RegQueryValue, RegSetValue, dan RegCloseKey. </no> Dalam beberapa kasus, ada tidak perlu untuk setiap nilai dikaitkan dengan kunci. Aplikasi mungkin hanya perlu tahu jika kunci tertentu atau nilai ada, dan tidak peduli tentang sifat nilai-nilai kunci. Dalam situasi seperti ini, fungsi RegEnumKey, RegEnumKeyEx, dan RegEnumValue dapat digunakan untuk menentukan apakah kunci atau nilai tertentu ada. Untuk informasi lebih lanjut tentang fungsi-fungsi ini merujuk pada referensi API penampil teks dan/atau Windows API. Fungsi API dan konstan DeklarasiSetValueEx dan QueryValueEx Wrapper fungsi: REFERENSIPemrograman Windows 95 antarmuka pengguna, bab 10-"menggunakan
Registry" Untuk fungsi referensi: Panduan untuk Win16 atau Win32 API. PropertiID Artikel: 145679 - Kajian Terakhir: 15 September 2011 - Revisi: 2.0 Berlaku bagi:
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:145679
(http://support.microsoft.com/kb/145679/en-us/
)
| Terjemahan Artikel
|




Kembali ke atas








