winreg --- Truy cập sổ đăng ký Windows¶
Các hàm này hiển thị sổ đăng ký Windows API cho Python. Thay vì sử dụng một số nguyên làm phần điều khiển đăng ký, handle object được sử dụng để đảm bảo rằng các phần điều khiển được đóng chính xác, ngay cả khi lập trình viên sơ ý đóng chúng một cách rõ ràng.
sẵn có: Windows.
Thay đổi trong phiên bản 3.3: Một số chức năng trong mô-đun này được sử dụng để tạo WindowsError, hiện là bí danh của OSError.
Chức năng¶
Mô-đun này cung cấp các chức năng sau:
- winreg.CloseKey(hkey)¶
Đóng khóa đăng ký đã mở trước đó. Đối số hkey chỉ định khóa đã mở trước đó.
Ghi chú
Nếu hkey không được đóng bằng phương thức này (hoặc thông qua
hkey.Close()), nó sẽ bị đóng khi đối tượng hkey bị Python phá hủy.
- winreg.ConnectRegistry(computer_name, key)¶
Thiết lập kết nối tới một sổ đăng ký được xác định trước trên một máy tính khác và trả về handle object.
computer_name là tên của máy tính từ xa, có dạng
r"\\computername". NếuNone, máy tính cục bộ được sử dụng.key là tay cầm được xác định trước để kết nối.
Giá trị trả về là phần xử lý của khóa đã mở. Nếu chức năng này không thành công, một ngoại lệ
OSErrorsẽ xuất hiện.Tăng một auditing event
winreg.ConnectRegistryvới các đối sốcomputer_name,key.Thay đổi trong phiên bản 3.3: Xem above.
- winreg.CreateKey(key, sub_key)¶
Tạo hoặc mở khóa được chỉ định, trả về handle object.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi đặt tên cho khóa mà phương thức này mở hoặc tạo.
Nếu key là một trong các khóa được xác định trước thì sub_key có thể là
None. Trong trường hợp đó, điều khiển được trả về chính là điều khiển khóa được truyền vào hàm.Nếu khóa đã tồn tại, chức năng này sẽ mở khóa hiện có.
Giá trị trả về là phần xử lý của khóa đã mở. Nếu chức năng này không thành công, một ngoại lệ
OSErrorsẽ xuất hiện.Tăng một auditing event
winreg.CreateKeyvới các đối sốkey,sub_key,access.Tăng một auditing event
winreg.OpenKey/resultvới đối sốkey.Thay đổi trong phiên bản 3.3: Xem above.
- winreg.CreateKeyEx(key, sub_key, reserved=0, access=KEY_WRITE)¶
Tạo hoặc mở khóa được chỉ định, trả về handle object.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi đặt tên cho khóa mà phương thức này mở hoặc tạo.
reserved là số nguyên dành riêng và phải bằng 0. Mặc định là bằng không.
access là một số nguyên chỉ định mặt nạ truy cập mô tả quyền truy cập bảo mật mong muốn cho khóa. Mặc định là
KEY_WRITE. Xem Access Rights để biết các giá trị được phép khác.Nếu key là một trong các khóa được xác định trước thì sub_key có thể là
None. Trong trường hợp đó, điều khiển được trả về chính là điều khiển khóa được truyền vào hàm.Nếu khóa đã tồn tại, chức năng này sẽ mở khóa hiện có.
Giá trị trả về là phần xử lý của khóa đã mở. Nếu chức năng này không thành công, một ngoại lệ
OSErrorsẽ xuất hiện.Tăng một auditing event
winreg.CreateKeyvới các đối sốkey,sub_key,access.Tăng một auditing event
winreg.OpenKey/resultvới đối sốkey.Added in version 3.2.
Thay đổi trong phiên bản 3.3: Xem above.
- winreg.DeleteKey(key, sub_key)¶
Xóa khóa được chỉ định.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi phải là khóa con của khóa được xác định bởi tham số key. Giá trị này không được là
Nonevà khóa có thể không có khóa con.This method can not delete keys with subkeys.
Nếu phương thức thành công, toàn bộ khóa, bao gồm tất cả các giá trị của nó, sẽ bị xóa. Nếu phương pháp này không thành công, một ngoại lệ
OSErrorsẽ xuất hiện.Tăng một auditing event
winreg.DeleteKeyvới các đối sốkey,sub_key,access.Thay đổi trong phiên bản 3.3: Xem above.
- winreg.DeleteKeyEx(key, sub_key, access=KEY_WOW64_64KEY, reserved=0)¶
Xóa khóa được chỉ định.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi phải là khóa con của khóa được xác định bởi tham số key. Giá trị này không được là
Nonevà khóa có thể không có khóa con.reserved là số nguyên dành riêng và phải bằng 0. Mặc định là bằng không.
access là một số nguyên chỉ định mặt nạ truy cập mô tả quyền truy cập bảo mật mong muốn cho khóa. Mặc định là
KEY_WOW64_64KEY. Trên Windows 32-bit, hằng số WOW64 bị bỏ qua. Xem Access Rights để biết các giá trị được phép khác.This method can not delete keys with subkeys.
Nếu phương thức thành công, toàn bộ khóa, bao gồm tất cả các giá trị của nó, sẽ bị xóa. Nếu phương pháp này không thành công, một ngoại lệ
OSErrorsẽ xuất hiện.Trên các phiên bản Windows không được hỗ trợ,
NotImplementedErrorđược nâng lên.Tăng một auditing event
winreg.DeleteKeyvới các đối sốkey,sub_key,access.Added in version 3.2.
Thay đổi trong phiên bản 3.3: Xem above.
- winreg.DeleteValue(key, value)¶
Xóa giá trị được đặt tên khỏi khóa đăng ký.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
value là một chuỗi xác định giá trị cần loại bỏ.
Tăng một auditing event
winreg.DeleteValuevới các đối sốkey,value.
- winreg.EnumKey(key, index)¶
Liệt kê các khóa con của khóa đăng ký đang mở, trả về một chuỗi.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
index là số nguyên xác định chỉ mục của khóa cần lấy.
Hàm lấy tên của một khóa con mỗi lần nó được gọi. Nó thường được gọi lặp đi lặp lại cho đến khi một ngoại lệ
OSErrorđược đưa ra, cho biết không còn giá trị nào nữa.Tăng một auditing event
winreg.EnumKeyvới các đối sốkey,index.Thay đổi trong phiên bản 3.3: Xem above.
- winreg.EnumValue(key, index)¶
Liệt kê các giá trị của khóa đăng ký đang mở, trả về một bộ dữ liệu.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
index là số nguyên xác định chỉ mục của giá trị cần truy xuất.
Hàm lấy tên của một khóa con mỗi lần nó được gọi. Nó thường được gọi lặp đi lặp lại cho đến khi ngoại lệ
OSErrorxuất hiện, biểu thị không còn giá trị nào nữa.Kết quả là một bộ gồm 3 mục:
chỉ mục
Ý nghĩa
0Một chuỗi xác định tên giá trị
1Một đối tượng chứa dữ liệu giá trị và loại của nó phụ thuộc vào loại đăng ký cơ bản
2Một số nguyên xác định loại dữ liệu giá trị (xem bảng trong tài liệu về
SetValueEx())Tăng một auditing event
winreg.EnumValuevới các đối sốkey,index.Thay đổi trong phiên bản 3.3: Xem above.
- winreg.ExpandEnvironmentStrings(str)¶
Mở rộng phần giữ chỗ biến môi trường
%NAME%trong các chuỗi nhưREG_EXPAND_SZ:>>> ExpandEnvironmentStrings('%windir%') 'C:\\Windows'
Tăng một auditing event
winreg.ExpandEnvironmentStringsvới đối sốstr.
- winreg.FlushKey(key)¶
Ghi tất cả các thuộc tính của một khóa vào sổ đăng ký.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
Không cần thiết phải gọi
FlushKey()để thay đổi phím. Các thay đổi của sổ đăng ký được sổ đăng ký chuyển vào đĩa bằng cách sử dụng trình xóa lười biếng của nó. Các thay đổi về sổ đăng ký cũng được xóa vào đĩa khi tắt hệ thống. Không giống nhưCloseKey(), phương thứcFlushKey()chỉ trả về khi tất cả dữ liệu đã được ghi vào sổ đăng ký. Một ứng dụng chỉ nên gọiFlushKey()nếu nó yêu cầu sự chắc chắn tuyệt đối rằng các thay đổi trong sổ đăng ký đều có trên đĩa.Ghi chú
Nếu bạn không biết liệu cuộc gọi
FlushKey()có cần thiết hay không thì có thể là không.
- winreg.LoadKey(key, sub_key, file_name)¶
Tạo một khóa con theo khóa được chỉ định và lưu trữ thông tin đăng ký từ một tệp được chỉ định vào khóa con đó.
key là một điều khiển được trả về bởi
ConnectRegistry()hoặc một trong các hằng sốHKEY_USERShoặcHKEY_LOCAL_MACHINE.sub_key là một chuỗi xác định khóa con cần tải.
file_name là tên của tệp để tải dữ liệu đăng ký. Tệp này phải được tạo bằng chức năng
SaveKey(). Trong hệ thống tệp bảng phân bổ tệp (FAT), tên tệp có thể không có phần mở rộng.Cuộc gọi tới
LoadKey()không thành công nếu quá trình gọi không có đặc quyềnSE_RESTORE_PRIVILEGE. Lưu ý rằng đặc quyền khác với quyền -- xem RegLoadKey documentation để biết thêm chi tiết.Nếu key là một điều khiển được trả về bởi
ConnectRegistry()thì đường dẫn được chỉ định trong file_name có liên quan đến máy tính từ xa.Tăng một auditing event
winreg.LoadKeyvới các đối sốkey,sub_key,file_name.
- winreg.OpenKey(key, sub_key, reserved=0, access=KEY_READ)¶
- winreg.OpenKeyEx(key, sub_key, reserved=0, access=KEY_READ)¶
Mở khóa được chỉ định, trả về handle object.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi xác định khóa con cần mở.
reserved là số nguyên dành riêng và phải bằng 0. Mặc định là bằng không.
access là một số nguyên chỉ định mặt nạ truy cập mô tả quyền truy cập bảo mật mong muốn cho khóa. Mặc định là
KEY_READ. Xem Access Rights để biết các giá trị được phép khác.Kết quả là một thẻ điều khiển mới cho khóa được chỉ định.
Nếu chức năng không thành công,
OSErrorsẽ được nâng lên.Tăng một auditing event
winreg.OpenKeyvới các đối sốkey,sub_key,access.Tăng một auditing event
winreg.OpenKey/resultvới đối sốkey.Thay đổi trong phiên bản 3.2: Cho phép sử dụng các đối số được đặt tên.
Thay đổi trong phiên bản 3.3: Xem above.
- winreg.QueryInfoKey(key)¶
Trả về thông tin về một khóa, dưới dạng một bộ dữ liệu.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
Kết quả là một bộ gồm 3 mục:
chỉ mục
Ý nghĩa
0Một số nguyên cho biết số lượng khóa phụ mà khóa này có.
1Một số nguyên cho biết số lượng giá trị mà khóa này có.
2Một số nguyên cho biết thời điểm khóa được sửa đổi lần cuối (nếu có) là 100 nano giây kể từ ngày 1 tháng 1 năm 1601.
Tăng một auditing event
winreg.QueryInfoKeyvới đối sốkey.
- winreg.QueryValue(key, sub_key)¶
Truy xuất giá trị chưa được đặt tên cho một khóa dưới dạng chuỗi.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi chứa tên của khóa con có giá trị được liên kết. Nếu tham số này là
Nonehoặc trống, hàm sẽ truy xuất giá trị được đặt bằng phương thứcSetValue()cho khóa được xác định bởi key.Các giá trị trong sổ đăng ký có các thành phần tên, loại và dữ liệu. Phương thức này truy xuất dữ liệu cho giá trị đầu tiên của khóa có tên
NULL. Tuy nhiên, lệnh gọi API cơ bản không trả về loại, vì vậy hãy luôn sử dụngQueryValueEx()nếu có thể.Tăng một auditing event
winreg.QueryValuevới các đối sốkey,sub_key,value_name.
- winreg.QueryValueEx(key, value_name)¶
Truy xuất loại và dữ liệu cho tên giá trị được chỉ định liên quan đến khóa đăng ký mở.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
value_name là một chuỗi biểu thị giá trị cần truy vấn.
Kết quả là một bộ gồm 2 mục:
chỉ mục
Ý nghĩa
0Giá trị của mục đăng ký.
1Một số nguyên cung cấp loại đăng ký cho giá trị này (xem bảng trong tài liệu về
SetValueEx())Tăng một auditing event
winreg.QueryValuevới các đối sốkey,sub_key,value_name.
- winreg.SaveKey(key, file_name)¶
Lưu khóa đã chỉ định và tất cả các khóa con của nó vào tệp đã chỉ định.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
file_name là tên của tệp để lưu dữ liệu đăng ký vào. Tập tin này không thể tồn tại. Nếu tên tệp này bao gồm phần mở rộng thì nó không thể được sử dụng trên hệ thống tệp bảng phân bổ tệp (FAT) bằng phương thức
LoadKey().Nếu key đại diện cho một khóa trên máy tính từ xa, thì đường dẫn được mô tả bởi file_name có liên quan đến máy tính từ xa. Người gọi phương thức này phải có đặc quyền bảo mật SeBackupPrivilege. Note that privileges are different than permissions -- see the Conflicts Between User Rights and Permissions documentation for more details.
Hàm này chuyển
NULLcho security_attributes cho API.Tăng một auditing event
winreg.SaveKeyvới các đối sốkey,file_name.
- winreg.SetValue(key, sub_key, type, value)¶
Liên kết một giá trị với một khóa được chỉ định.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
sub_key là một chuỗi đặt tên cho khóa con có giá trị được liên kết.
type là một số nguyên chỉ định loại dữ liệu. Hiện tại đây phải là
REG_SZ, nghĩa là chỉ hỗ trợ chuỗi. Sử dụng hàmSetValueEx()để hỗ trợ các loại dữ liệu khác.value là một chuỗi chỉ định giá trị mới.
Nếu khóa được chỉ định bởi tham số sub_key không tồn tại thì hàm SetValue sẽ tạo khóa đó.
Độ dài giá trị bị giới hạn bởi bộ nhớ khả dụng. Các giá trị dài (hơn 2048 byte) phải được lưu trữ dưới dạng tệp có tên tệp được lưu trong sổ đăng ký cấu hình. Điều này giúp cơ quan đăng ký hoạt động hiệu quả.
Khóa được xác định bởi tham số key phải được mở bằng quyền truy cập
KEY_SET_VALUE.Tăng một auditing event
winreg.SetValuevới các đối sốkey,sub_key,type,value.
- winreg.SetValueEx(key, value_name, reserved, type, value)¶
Lưu trữ dữ liệu trong trường giá trị của khóa đăng ký đang mở.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
value_name là một chuỗi đặt tên cho khóa con có giá trị được liên kết.
reserved có thể là bất cứ thứ gì -- số 0 luôn được chuyển cho API.
type là một số nguyên chỉ định loại dữ liệu. Xem Value Types để biết các loại có sẵn.
value là một chuỗi chỉ định giá trị mới.
Phương pháp này cũng có thể đặt thông tin loại và giá trị bổ sung cho khóa được chỉ định. Khóa được xác định bởi tham số khóa phải được mở bằng quyền truy cập
KEY_SET_VALUE.Để mở khóa, hãy sử dụng phương pháp
CreateKey()hoặcOpenKey().Độ dài giá trị bị giới hạn bởi bộ nhớ khả dụng. Các giá trị dài (hơn 2048 byte) phải được lưu trữ dưới dạng tệp có tên tệp được lưu trong sổ đăng ký cấu hình. Điều này giúp cơ quan đăng ký hoạt động hiệu quả.
Tăng một auditing event
winreg.SetValuevới các đối sốkey,sub_key,type,value.
- winreg.DisableReflectionKey(key)¶
Vô hiệu hóa phản ánh sổ đăng ký cho các quy trình 32 bit chạy trên hệ điều hành 64 bit.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
Nói chung sẽ tăng
NotImplementedErrornếu được thực thi trên hệ điều hành 32 bit.Nếu khóa không có trong danh sách phản ánh, hàm sẽ thành công nhưng không có hiệu lực. Việc tắt phản chiếu cho một khóa không ảnh hưởng đến phản ánh của bất kỳ khóa con nào.
Tăng một auditing event
winreg.DisableReflectionKeyvới đối sốkey.
- winreg.EnableReflectionKey(key)¶
Khôi phục phản ánh đăng ký cho khóa bị vô hiệu hóa được chỉ định.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
Nói chung sẽ tăng
NotImplementedErrornếu được thực thi trên hệ điều hành 32 bit.Khôi phục phản ánh cho một khóa không ảnh hưởng đến phản ánh của bất kỳ khóa con nào.
Tăng một auditing event
winreg.EnableReflectionKeyvới đối sốkey.
- winreg.QueryReflectionKey(key)¶
Xác định trạng thái phản chiếu cho khóa được chỉ định.
key là một khóa đã mở hoặc một trong những HKEY_* constants được xác định trước.
Trả về
Truenếu tính năng phản chiếu bị tắt.Nói chung sẽ tăng
NotImplementedErrornếu được thực thi trên hệ điều hành 32 bit.Tăng một auditing event
winreg.QueryReflectionKeyvới đối sốkey.
Hằng số¶
Các hằng số sau được xác định để sử dụng trong nhiều hàm winreg.
HKEY_* Hằng số¶
- winreg.HKEY_CLASSES_ROOT¶
Các mục đăng ký phụ thuộc vào khóa này xác định các loại (hoặc lớp) tài liệu và các thuộc tính liên quan đến các loại đó. Các ứng dụng Shell và COM sử dụng thông tin được lưu trữ dưới khóa này.
- winreg.HKEY_CURRENT_USER¶
Các mục đăng ký phụ thuộc vào khóa này xác định tùy chọn của người dùng hiện tại. Các tùy chọn này bao gồm cài đặt của các biến môi trường, dữ liệu về nhóm chương trình, màu sắc, máy in, kết nối mạng và tùy chọn ứng dụng.
- winreg.HKEY_LOCAL_MACHINE¶
Các mục đăng ký phụ thuộc vào khóa này xác định trạng thái vật lý của máy tính, bao gồm dữ liệu về loại bus, bộ nhớ hệ thống cũng như phần cứng và phần mềm đã cài đặt.
- winreg.HKEY_USERS¶
Các mục đăng ký phụ thuộc vào khóa này xác định cấu hình người dùng mặc định cho người dùng mới trên máy tính cục bộ và cấu hình người dùng cho người dùng hiện tại.
- winreg.HKEY_PERFORMANCE_DATA¶
Các mục đăng ký phụ thuộc vào khóa này cho phép bạn truy cập dữ liệu hiệu suất. Dữ liệu không thực sự được lưu trữ trong sổ đăng ký; các chức năng đăng ký khiến hệ thống thu thập dữ liệu từ nguồn của nó.
- winreg.HKEY_CURRENT_CONFIG¶
Chứa thông tin về cấu hình phần cứng hiện tại của hệ thống máy tính cục bộ.
- winreg.HKEY_DYN_DATA¶
Phím này không được sử dụng trong các phiên bản Windows sau 98.
Quyền truy cập¶
Để biết thêm thông tin, xem Registry Key Security and Access.
- winreg.KEY_ALL_ACCESS¶
Kết hợp các quyền truy cập STANDARD_RIGHTS_REQUIRED,
KEY_QUERY_VALUE,KEY_SET_VALUE,KEY_CREATE_SUB_KEY,KEY_ENUMERATE_SUB_KEYS,KEY_NOTIFYvàKEY_CREATE_LINK.
- winreg.KEY_WRITE¶
Kết hợp các quyền truy cập STANDARD_RIGHTS_WRITE,
KEY_SET_VALUEvàKEY_CREATE_SUB_KEY.
- winreg.KEY_READ¶
Kết hợp các giá trị STANDARD_RIGHTS_READ,
KEY_QUERY_VALUE,KEY_ENUMERATE_SUB_KEYSvàKEY_NOTIFY.
- winreg.KEY_QUERY_VALUE¶
Cần thiết để truy vấn các giá trị của khóa đăng ký.
- winreg.KEY_SET_VALUE¶
Cần thiết để tạo, xóa hoặc đặt giá trị đăng ký.
- winreg.KEY_CREATE_SUB_KEY¶
Cần thiết để tạo khóa con của khóa đăng ký.
- winreg.KEY_ENUMERATE_SUB_KEYS¶
Cần thiết để liệt kê các khóa con của khóa đăng ký.
- winreg.KEY_NOTIFY¶
Bắt buộc phải yêu cầu thông báo thay đổi đối với khóa đăng ký hoặc khóa con của khóa đăng ký.
- winreg.KEY_CREATE_LINK¶
Dành riêng cho việc sử dụng hệ thống.
Cụ thể 64-bit¶
Để biết thêm thông tin, xem Accessing an Alternate Registry View.
- winreg.KEY_WOW64_64KEY¶
Cho biết rằng một ứng dụng trên Windows 64 bit sẽ hoạt động trên chế độ xem sổ đăng ký 64 bit. Trên Windows 32 bit, hằng số này bị bỏ qua.
- winreg.KEY_WOW64_32KEY¶
Cho biết rằng một ứng dụng trên Windows 64 bit sẽ hoạt động trên chế độ xem sổ đăng ký 32 bit. Trên Windows 32 bit, hằng số này bị bỏ qua.
Các loại giá trị¶
Để biết thêm thông tin, xem Registry Value Types.
- winreg.REG_BINARY¶
Dữ liệu nhị phân dưới mọi hình thức.
- winreg.REG_DWORD¶
Số 32 bit.
- winreg.REG_DWORD_BIG_ENDIAN¶
Số 32 bit ở định dạng big endian.
- winreg.REG_EXPAND_SZ¶
Chuỗi kết thúc bằng null chứa các tham chiếu đến các biến môi trường (
%PATH%).
- winreg.REG_LINK¶
Một liên kết tượng trưng Unicode.
- winreg.REG_MULTI_SZ¶
Một chuỗi các chuỗi kết thúc bằng null, được kết thúc bằng hai ký tự null. (Python tự động xử lý việc chấm dứt này.)
- winreg.REG_NONE¶
Không có loại giá trị được xác định.
- winreg.REG_QWORD¶
Một số 64 bit.
Added in version 3.6.
- winreg.REG_QWORD_LITTLE_ENDIAN¶
Một số 64-bit ở định dạng little-endian. Tương đương với
REG_QWORD.Added in version 3.6.
- winreg.REG_RESOURCE_LIST¶
Danh sách tài nguyên trình điều khiển thiết bị.
- winreg.REG_FULL_RESOURCE_DESCRIPTOR¶
Một cài đặt phần cứng.
- winreg.REG_RESOURCE_REQUIREMENTS_LIST¶
Danh sách tài nguyên phần cứng.
- winreg.REG_SZ¶
Một chuỗi kết thúc null.
Đối tượng xử lý sổ đăng ký¶
Đối tượng này bao bọc một đối tượng Windows HKEY, tự động đóng nó khi đối tượng bị phá hủy. Để đảm bảo việc dọn dẹp, bạn có thể gọi phương thức Close() trên đối tượng hoặc hàm CloseKey().
Tất cả các chức năng đăng ký trong mô-đun này đều trả về một trong các đối tượng này.
Tất cả các hàm đăng ký trong mô-đun này chấp nhận đối tượng điều khiển cũng chấp nhận một số nguyên, tuy nhiên, việc sử dụng đối tượng điều khiển được khuyến khích.
Xử lý các đối tượng cung cấp ngữ nghĩa cho __bool__() -- do đó
nếu xử lý:
in ("Có")
sẽ in Yes nếu tay cầm hiện hợp lệ (chưa được đóng hoặc tách ra).
Các đối tượng xử lý có thể được chuyển đổi thành một số nguyên (ví dụ: sử dụng hàm int() tích hợp), trong trường hợp đó, giá trị xử lý Windows cơ bản được trả về. Bạn cũng có thể sử dụng phương thức Detach() để trả về bộ điều khiển số nguyên và cũng có thể ngắt kết nối bộ điều khiển Windows khỏi đối tượng tay cầm.
- PyHKEY.Close()¶
Đóng tay cầm Windows bên dưới.
Nếu tay cầm đã được đóng thì không có lỗi nào phát sinh.
- PyHKEY.Detach()¶
Tách tay cầm Windows khỏi đối tượng tay cầm.
Kết quả là một số nguyên chứa giá trị của thẻ điều khiển trước khi nó được tách ra. Nếu tay cầm đã được tháo ra hoặc đóng lại, giá trị này sẽ trả về 0.
Sau khi gọi hàm này, phần điều khiển thực sự bị vô hiệu hóa nhưng phần điều khiển không được đóng. Bạn sẽ gọi hàm này khi bạn cần tay cầm Win32 cơ bản tồn tại ngoài thời gian tồn tại của đối tượng tay cầm.
Tăng một auditing event
winreg.PyHKEY.Detachvới đối sốkey.
- PyHKEY.__enter__()¶
- PyHKEY.__exit__(*exc_info)¶
Đối tượng HKEY triển khai
__enter__()và__exit__()và do đó hỗ trợ giao thức ngữ cảnh cho câu lệnhwith:với OpenKey(HKEY_LOCAL_MACHINE, "foo") làm khóa: ... # work có chìa khóa
sẽ tự động đóng key khi điều khiển rời khỏi khối
with.