鱼C论坛

 找回密码
 立即注册
查看: 3723|回复: 1

winreg.HKEY_CLASSES_ROOT权限问题

[复制链接]
发表于 2015-5-26 12:39:44 | 显示全部楼层 |阅读模式
50鱼币
本帖最后由 戴宇轩 于 2015-6-28 18:05 编辑

注册表写入 winreg.HKEY_CLASSES_ROOT 会报错
写入winreg.HKEY_CURRENT_USER就可以。


  1. #coding = utf-8
  2. '''
  3. Created on 2015年5月24日

  4. author: likui

  5. '''
  6. import os
  7. import winreg


  8. HKCU = winreg.HKEY_CURRENT_USER

  9. def modify():
  10.    
  11.     try:
  12.         kdspath = input('请输入kds的目录:')
  13.         #----以下为制版软件注册表修复-----
  14.         knit_cad = os.path.join(kdspath,'运行库\制版模块')
  15.         knit_cad_shell ='"'+os.path.join(knit_cad,'KDS-Pattern.exe')+'" "%1" %*'
  16.    
  17.         # 。kni 注册表项
  18.         dot_kni = winreg.OpenKey(HKCU, '', 0, winreg.KEY_ALL_ACCESS)
  19.         winreg.SetValue(dot_kni, '.kni', winreg.REG_SZ, 'kni document')
  20.         
  21.         # kni document 注册表项
  22.         kni_key=winreg.CreateKey(dot_kni, 'kni document')
  23.         winreg.SetValue(kni_key, 'DefaultIcon', winreg.REG_SZ,os.path.join(knit_cad,'KnitCAD.ICO') )
  24.         kni_shell=winreg.CreateKey(kni_key, 'shell')
  25.         kni_shell_open=winreg.CreateKey(kni_shell,'open')
  26.         winreg.SetValue(kni_shell_open, 'command', winreg.REG_SZ,knit_cad_shell)
  27.         
  28.         #----以下是工艺软件的注册表修复------
  29.         knit_proc = os.path.join(kdspath,'运行库\工艺模块')
  30.         knit_proc_shell ='"'+os.path.join(knit_proc,'KDS-Process.exe')+'" "%1" %*'
  31.         
  32.         # .kds 注册表项
  33.         dot_kds =winreg.OpenKey(HKCU, '', 0, winreg.KEY_ALL_ACCESS)
  34.         winreg.SetValue(dot_kni, '.kds', winreg.REG_SZ, 'kds document')
  35.         
  36.         # kds document 注册表项
  37.         kds_key=winreg.CreateKey(dot_kds, 'kds document')
  38.         winreg.SetValue(kds_key, 'DefaultIcon', winreg.REG_SZ,os.path.join(knit_cad,'Process.ICO') )
  39.         kds_shell=winreg.CreateKey(kds_key, 'shell')
  40.         kds_shell_open=winreg.CreateKey(kds_shell,'open')
  41.         winreg.SetValue(kds_shell_open, 'command', winreg.REG_SZ,knit_proc_shell)
  42.         
  43.     except WindowsError:
  44.         print('error')
  45.    
  46.    
  47. if __name__ =='__main__':
  48.     modify()
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-3-31 21:40:48 | 显示全部楼层
nanixiangwenshenme?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-16 06:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表