Select the product you need help with
Làm th? nào đ? s? d?ng Registry API đ? lưu và l?y các thi?t đ?tID c?a bài: 145679 - Xem s?n ph?m mà bài này áp d?ng vào. ? Trang nàyTÓM T?TM?c dù Visual Basic bao g?m các ch?c năng SaveSetting và GetSetting
đ? lưu và truy xu?t thông tin t? s? đăng k?, các ch?c năng này ch?
ho?t đ?ng trên m?t ph?n c? th? c?a registry, Visual Basic và VBA
Cài đ?t chương tr?nh HKEY_CURRENT_USER g?c phím. Bài vi?t này v?ch ra s? d?ng 32-bit Windows API ch?c năng, mà có th? đư?c s? d?ng đ? đ?t và l?y giá tr? t? b?t c? nơi nào trong s? đăng k?. Các ch? đ? và tài li?u tham kh?o ch?c năng trong bài vi?t này có th? đư?c t?ng quát hóa chương tr?nh các đăng k? 16-bit. Ch?c năng API 32-bit c?ng bao g?m h? tr? cho an ninh, m?c dù m?t T?ng quan v? an ninh n?m ngoài ph?m vi c?a bài vi?t này. Lưu ?: Các ch?c năng SaveSetting và GetSetting không ph?i là m?t ph?n c?a VBA ch?c năng thư vi?n. Tuy nhiên, m?u m? dư?i đây v?n c?n áp d?ng cho 32-bit các ?ng d?ng th?c hi?n VBA. THÔNG TIN THÊMThông tin đăng k? chungCơ quan đăng k? đư?c s? d?ng b?i các ?ng d?ng và Windows đ? lưu tr? các c?u h?nh d? li?u. Đó là m?t thay th? cho nh?ng con s? l?n c?a INI t?p tin mà proliferated trên Windows 3.x máy và c?ng đư?c s? d?ng r?t nhi?u b?i OLE.Cơ quan đăng k? đư?c t? ch?c b?ng cách s? d?ng m?t lo?t th? b?c các phím và các giá tr? gi?ng như m?t cây. Mo?i phím, b?t đ?u v?i m?t trong s? sáu g?c đư?c xác đ?nh trư?c phím, có th? có sub-keys và các giá tr? liên k?t v?i nó. Các phím t? ch?c và đ?t tên đơn v? và xu?t hi?n trong Windows Registry Editor như t?p tin thư m?c. Các giá tr? d? li?u m?c và xu?t hi?n dư?i d?ng văn b?n m?c trong các c?a s? bên ph?i c?a c?a s? Registry Editor. Phím c?n không có b?t k? liên k?t các giá tr?, nhưng có th? có nhi?u ngư?i. M?i giá tr? có m?t ki?u d? li?u liên quan. Hai lo?i d? li?u đăng k? thông d?ng nh?t là REG_SZ, m?t null ch?m d?t chu?i; và REG_DWORD, m?t s? 32-bit. Quá tr?nh cơ b?n đư?c s? d?ng đ? vi?t ho?c đ?c t? m?t v? trí trong registry là Chúc b?n như v?y. Đ? tham kh?o b?t k? ch?a khóa cho trư?c ho?c giá tr?, b?n ph?i có m?t x? l? đ? ch?a khóa. M?t khi x? l? này là có đư?c, giá tr? và sub-keys c?a ch?a khóa mà ch?t này dùng đ? ch? có th? đư?c đ?c, thi?t l?p, ho?c đư?c li?t kê (dùng). Đưa ra m?t v? trí trong registry, có đư?c m?t x? l? cho r?ng ch?a khóa, b?n ph?i b?t đ?u v?i m?t trong các phím đư?c xác đ?nh trư?c sáu (HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS, HKEY_CURRENT_CONFIG, và HKEY_DYN_DATA) và đi qua cây đăng k? cho đ?n khi phím b?n mu?n là đ?t đ?n. Ngư?i s? d?ng chương tr?nh thư?ng xuyên nh?t đ?c và vi?t t? HKEY_CURRENT_USER và HKEY_LOCAL_MACHINE. N?u các phím đư?c ngang đ? t?n t?i, b?n có th? s? d?ng m?t lo?t các cu?c g?i đ?n các ch?c năng RegOpenKey ho?c RegOpenKeyEx. N?u các phím c?n đư?c t?o ra, RegCreateKey và RegCreateKeyEx ch?c năng th?c hi?n công vi?c. V?i x? l? đ? phím b?n mu?n, các ch?c năng đư?c s? d?ng đ? danh sách, thi?t l?p, và truy xu?t thông tin có th? đư?c g?i là. Trong m?i trư?ng h?p, ch?c năng v?i Ex h?u t? s? làm vi?c ch? trên n?n t?ng 32-bit. Ch?c năng mà không có h?u t? có th? làm vi?c trên 16-bit và 32-bit phiên b?n c?a Windows. H?y nh? r?ng không ph?i t?t c? các ch?c năng cơ quan đăng k? thi?u 'C?' h?u t? là ch?c năng cung c?p cho 16-bit tương thích. H?u t? Ex đư?c ch? b? sung khi các kh? năng c?a ch?c năng 16-bit đ? đư?c m? r?ng. Ch?c năng hoàn toàn m?i và c? th? v?i n?n t?ng 32-bit không có m?t ph?n m? r?ng c?. RegSetValue và RegSetValueEx các ch?c năng cho phép các thi?t l?p c?a m?t giá tr? đ? đư?c l?n, trong khi RegQueryValue và RegQueryValueEx l?y các thi?t đ?t hi?n th?i c?a m?t giá tr?. Nh?ng h?n ch? c?a các phiên b?n không-Ex, 16-bit các API là r?t hi?n nhiên ? đây. Khi s? d?ng 16-bit RegSetValue ch?c năng đó là không có cách nào đ? tên m?t giá tr?, và v? đi?u này, RegSetValue không th? đư?c s? d?ng đ? k?t h?p nhi?u hơn m?t giá tr? v?i m?i phím. Ngoài ra t?t c? giá tr? b?ng văn b?n v?i RegSetValue có m?t ki?u d? li?u c?a REG_SZ. Đây h?n ch? là c? h?u v?i Registry 16-bit. RegSetValueEx cho phép các sáng t?o c?a m?t s? nhi?u c?a các giá tr? v?i b?t k? lo?i d? li?u s?n có. Làm th? nào đ? vi?t cho m?t v? trí Registry c? th?Sau khi xác đ?nh nh?ng g? các ch?c năng b?n s? c?n ph?i s? d?ng cho d? án c?a b?n, b?n sao tuyên b? là có liên quan t? các m? ? ph?n cu?i c?a bài vi?t này đ?n m?t mô-đun cơ b?n. Visual Basic hai th? t?c bao g?m (SetValueEx và QueryValueEx) là hàm bao cho RegSetValueEx và RegQueryValueEx API ch?c năng và r?t nhi?u đơn gi?n hóa vi?c s? d?ng c?a h?. Các ghi chú dư?i đây h?y s? d?ng các Visual Basic functions; Tuy nhiên, b?n đư?c t? do đ? th?c hi?n cu?c g?i tr?c ti?p đ?n các API n?u b?n mu?n.T?o/s?a đ?i các phím và các giá tr?: V?i t? khai và th? t?c có s?n, b?n có th? t?o và m? các phím, và thêm, s?a đ?i, và đ?c các giá tr?. Nh?ng ph?n sau ba gi?i thích làm th? nào đ? t?o m?t khóa, đ?t ho?c s?a đ?i m?t giá tr?, và giá tr? m?t truy v?n. T?o m?t khóa m?i: T?o m?t khóa là đơn gi?n như s? d?ng th? t?c sau đây. CreateNewKey s? đưa tên c?a ch?a khóa đ? t?o ra, và h?ng s? đ?i di?n cho ch?a khóa đư?c xác đ?nh trư?c đ? t?o khoá dư?i. Các cu?c g?i đ?n RegCreateKeyEx không t?n d?ng l?i th? c?a các cơ ch? b?o m?t đư?c cho phép, nhưng có th? đư?c c?i ti?n đ? làm như v?y. M?t cu?c th?o lu?n v? an ninh Registry là bên ngoài ph?m vi c?a bài vi?t này. V?i th? t?c này cuoäc goïi c?a: s? t?o ra m?t khóa đư?c g?i là TestKey ngay l?p t?c dư?i HKEY_LOCAL_MACHINE. G?i đi?n tho?i CreateNewKey như th? này: s? t?o ra ba l?ng nhau phím b?t đ?u v?i TestKey ngay l?p t?c dư?i HKEY_CURRENT_USER, SubKey1 dư?i TestKey, và SubKey3 dư?i SubKey2. Cài đ?t/s?a đ?i m?t giá tr?: T?o và thi?t l?p m?t giá tr? c?a m?t phím xác đ?nh có th? đư?c th?c hi?n v?i th? t?c sau đây ng?n. SetKeyValue m?t ch?a khóa mà giá tr? s? đư?c liên k?t v?i, tên c?a giá tr?, các thi?t l?p c?a các giá tr?, và lo?i giá tr? (ch?c năng SetValueEx ch? h? tr? REG_SZ và REG_DWORD, nhưng đi?u này có th? s?a đ?i n?u c?n thi?t). Ch? đ?nh m?t giá tr? m?i cho m?t sValueName hi?n có s? s?a đ?i các thi?t l?p hi?n t?i c?a giá tr? đó. M?t cu?c g?i c?a: s? t?o ra m?t giá tr? c?a lo?i REG_SZ g?i là "stringvalue" v?i các thi?t l?p c?a "Hello." Giá tr? này s? đư?c k?t h?p v?i phím SubKey1 c?a "testkey." Trong trư?ng h?p này, "testkey" là m?t subkey HKEY_CURRENT_USER, nhưng đi?u này có th? l?n b?ng cách thay đ?i các cu?c g?i đ?n RegOpenKeyEx. Cu?c g?i này s? th?t b?i n?u "testkey\subkey1" không t?n t?i. Đ? tránh v?n đ? này, s? d?ng m?t cu?c g?i đ?n RegCreateKeyEx thay v? c?a m?t cu?c g?i đ?n RegOpenKeyEx. RegCreateKeyEx s? m? m?t phím xác đ?nh n?u nó đ? t?n t?i. Câu m?t giá tr?: Các th? t?c k? ti?p có th? đư?c s? d?ng đ? xác đ?nh các thi?t l?p c?a m?t hi?n có giá tr?. QueryValue m?t tên chính và tên c?a m?t giá tr? liên k?t v?i r?ng ch?a khóa và hi?n th? m?t thông đi?p h?p v?i tương ?ng giá tr?. Nó s? d?ng m?t cu?c g?i đ?n ch?c năng wrapper QueryValueEx đư?c đ?nh ngh?a dư?i đây, mà ch? h? tr? các lo?i REG_SZ và REG_DWORD. V?i th? t?c này, m?t cu?c g?i c?a: s? hi?n th? m?t h?p thư v?i các thi?t l?p hi?n t?i c?a "stringvalue" có giá tr?, và gi? đ?nh r?ng "stringvalue" t?n t?i trong ch?a khóa "testkey\subkey1". N?u giá tr? b?n truy v?n không t?n t?i sau đó QueryValue s? tr? l?i m?t l?i m? s? 2 - 'error_badkey'. Thêm ghi chú: Các ví d? bên trên s? d?ng các phiên b?n 32-bit m? r?ng c?a s? đăng k? ch?c năng đ?c quy?n. Các ch?c năng này cho phép nhi?u hơn m?t giá tr? đư?c liên k?t v?i m?i phím. Như đư?c th?o lu?n ? trên, 16-bit RegSetValue và RegQueryValue hành đ?ng trên m?t giá tr? duy nh?t k?t h?p v?i phím hi?n t?i (trong đó luôn luôn lo?i REG_SZ). Các ch?c năng này xu?t hi?n trong 32-bit Cơ quan đăng k? biên t?p v?i tên <no name="">. Đ? đ?t, s?a đ?i, ho?c truy v?n này đ?c bi?t giá tr? liên k?t, m?t trong nh?ng ph?i s? d?ng các ch?c năng cơ quan đăng k? 16-bit. Đ?c và vi?t t? s? đăng k? trong m?t môi trư?ng 16-bit là nhi?u đơn gi?n hơn trong m?t môi trư?ng 32-bit. Ti?p theo là các th? t?c cơ b?n tương t?: m? m?t khoá và có đư?c m?t x? l? và sau đó g?i ch?c năng s?a đ?i c?a b?n v?i Đi?u tác đó, nhưng không có nhu c?u xem xét đ? đư?c th?c hi?n cho nhi?u liên k?t các giá tr? ho?c cho các ki?u d? li?u giá tr? khác nhau. ?ng d?ng 16-bit có th? t?o và s?a đ?i các phím và các giá tr? v?i các t? khai c?a RegCreateKey, Ch?c năng RegOpenKey, RegQueryValue, RegSetValue, và RegCloseKey. </no> Trong m?t s? trư?ng h?p, không có không c?n b?t k? giá tr? đư?c liên k?t v?i m?t phím. M?t ?ng d?ng có th? ch? c?n bi?t n?u m?t khóa nh?t đ?nh ho?c giá tr? t?n t?i, và không chăm sóc v? b?n ch?t c?a các giá tr? c?a key. Trong m?t t?nh hu?ng như th? này, ch?c năng RegEnumKey, RegEnumKeyEx, và RegEnumValue có th? đư?c s? d?ng đ? xác đ?nh li?u m?t khóa nh?t đ?nh ho?c giá tr? t?n t?i. Đ? bi?t thêm thông tin v? các ch?c năng này đ? c?p đ?n tài li?u tham kh?o API Text Viewer và/ho?c Windows API. API ch?c năng và h?ng s? t? khaiSetValueEx và QueryValueEx Wrapper ch?c năng: THAM KH?OL?p tr?nh giao di?n ngư?i dùng Windows 95, chương 10-"b?ng cách s? d?ng các
Cơ quan đăng k?" Tài li?u tham kh?o ch?c năng: b?t k? hư?ng d?n Win16 ho?c Win32 API. Thu?c tínhID c?a bài: 145679 - L?n xem xét sau cùng: 18 Tháng Tám 2011 - Xem xét l?i: 2.0 Áp d?ng
Máy d?ch QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này. Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:145679
(http://support.microsoft.com/kb/145679/en-us/
)
| D?ch tiêu đ?
|




Quay l?i đ?u trang








