用cnext.exe /regserver修复后,双击catia文件并不能正确打开文件.解决方法如下:
# -*- coding: utf-8 -*-
#
# Copyright (C) 2014 csuodn
#
import winreg
val = r'"D:\Program Files\Dassault Systemes\B20\intel_a\code\bin\CATSTART.exe" -run "CNEXT.exe" -env B20 -direnv "C:\Users\hp\AppData\Roaming\DassaultSystemes\CATEnv" -nowindow -object "%1"'
sub_key = r''
Openedkey = winreg.OpenKeyEx(
winreg.HKEY_CLASSES_ROOT, sub_key, 0, winreg.KEY_ALL_ACCESS)
i = 1
while i:
try:
kname = winreg.EnumKey(Openedkey, i)
except:
break
i += 1
if kname.startswith("CATIA."):
sub_ck = "{0}\shell\open\command".format(kname)
try:
ck = 0
ck = winreg.OpenKeyEx(
winreg.HKEY_CLASSES_ROOT, sub_ck, 0, winreg.KEY_ALL_ACCESS)
except:
pass
if ck:
winreg.SetValueEx(ck, "", None, winreg.REG_SZ, val)
print("修改了:" + sub_ck)
#print(winreg.QueryValueEx(ck, ""))