way

找GTK默认路径时,跳过加密/不存在的盘

@@ -141,14 +141,19 @@ def _ensure_windows_gtk_paths(): @@ -141,14 +141,19 @@ def _ensure_windows_gtk_paths():
141 ] 141 ]
142 142
143 # 常见自定义安装位置(其他盘符 / DevelopSoftware 目录) 143 # 常见自定义安装位置(其他盘符 / DevelopSoftware 目录)
144 - # common_drives = ["C", "D", "E", "F"]  
145 - common_drives = ["C", "E", "F"] 144 + common_drives = ["C", "D", "E", "F"]
146 common_names = ["GTK3-Runtime Win64", "GTK3-Runtime Win32", "GTK3-Runtime"] 145 common_names = ["GTK3-Runtime Win64", "GTK3-Runtime Win32", "GTK3-Runtime"]
147 for drive in common_drives: 146 for drive in common_drives:
148 root = Path(f"{drive}:/") 147 root = Path(f"{drive}:/")
149 - for name in common_names:  
150 - default_dirs.append(root / name)  
151 - default_dirs.append(root / "DevelopSoftware" / name) 148 + # 检测路径是否存在并可访问
  149 + try:
  150 + if root.exists():
  151 + for name in common_names:
  152 + default_dirs.append(root / name)
  153 + default_dirs.append(root / "DevelopSoftware" / name)
  154 + except OSError as e:
  155 + # print(f'盘{drive}不存在或被加密,已跳过')
  156 + pass
152 157
153 # 扫描 Program Files 下所有以 GTK 开头的目录,适配自定义安装目录名 158 # 扫描 Program Files 下所有以 GTK 开头的目录,适配自定义安装目录名
154 for root in (program_files, program_files_x86): 159 for root in (program_files, program_files_x86):