get_usb_devicesがclass内で動作しなかったバグを修正

This commit is contained in:
suti7yk5032 2024-09-06 02:39:40 +09:00
parent 4836e6ae8f
commit cc771d5196

View file

@ -16,6 +16,7 @@ import shutil
import uuid
import time
import win32com.client
import pythoncom
app_name = "Dislocker"
dislocker_dir = os.path.dirname(os.path.abspath(sys.argv[0]))
@ -316,23 +317,29 @@ class Lock(customtkinter.CTkToplevel):
self.signout_button.configure(state="normal", fg_color="#3c8dd0")
def get_usb_devices(self):
str_computer = "."
obj_wmi_service = win32com.client.Dispatch("WbemScripting.SWbemLocator")
obj_swem_services = obj_wmi_service.ConnectServer(str_computer, "root\\cimv2")
col_items = obj_swem_services.ExecQuery("Select * from Win32_PnPEntity where PNPDeviceID like 'USB%'")
try:
pythoncom.CoInitialize()
str_computer = "."
obj_wmi_service = win32com.client.Dispatch("WbemScripting.SWbemLocator")
obj_swem_services = obj_wmi_service.ConnectServer(str_computer, "root\\cimv2")
col_items = obj_swem_services.ExecQuery("Select * from Win32_PnPEntity where PNPDeviceID like 'USB%'")
devices = []
for obj_item in col_items:
devices.append({
"device_id": obj_item.DeviceID,
"PNPDeviceID": obj_item.PNPDeviceID,
"Description": obj_item.Description,
"device_name": obj_item.Name,
"Manufacturer": obj_item.Manufacturer,
"Service": obj_item.Service
})
devices = []
for obj_item in col_items:
devices.append({
"device_id": obj_item.DeviceID,
"PNPDeviceID": obj_item.PNPDeviceID,
"Description": obj_item.Description,
"device_name": obj_item.Name,
"Manufacturer": obj_item.Manufacturer,
"Service": obj_item.Service
})
return devices
pythoncom.CoUninitialize()
return devices
except pythoncom.com_error as e:
print("Error:", e)
return []
def auth(self):
self.button_disable()