Python中文
首页
教程
问答
标签
搜索
登录
注册
Python注册表持久化
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在尝试制作一个在windows环境中持久化的python脚本。我正在使用PyInstaller创建一个exe。我设法让这个脚本只在WindowsXP环境下运行,而不在任何其他版本的Windows上运行。我可以将exe移到%temp%文件夹,但是它不会写入注册表中的“Software\Microsoft\Windows\CurrentVersion\Run”。我希望你们能给我你们对代码的看法。有没有更有效的方法来写注册表?在</p> <pre><code>import sys, base64, os, socket, subprocess from _winreg import * def autorun(tempdir, fileName, run): # Copy executable to %TEMP%: os.system('copy %s %s'%(fileName, tempdir)) # Queries Windows registry for the autorun key value # Stores the key values in runkey array key = OpenKey(HKEY_LOCAL_MACHINE, run) runkey =[] try: i = 0 while True: subkey = EnumValue(key, i) runkey.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(subkey[0]) i += 1 except WindowsError: pass # If the autorun key "helloworld" isn't set this will set the key: if 'helloworld' not in runkey: try: key= OpenKey(HKEY_LOCAL_MACHINE, run,0,KEY_ALL_ACCESS) SetValueEx(key ,'helloworld',0,REG_SZ,r"%TEMP%\hello.exe") key.Close() except WindowsError: pass def hello(): print "hello world" def main(): tempdir = '%TEMP%' fileName = sys.argv[0] run = "Software\Microsoft\Windows\CurrentVersion\Run" autorun(tempdir, fileName, run) hello() if __name__ == "__main__": main() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我解决了这个问题,将HKEY U LOCAL U机器值替换为HKEY U CURRENT U USER。重新启动后,.exe文件未运行的问题仍然存在。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Django:。是不是“超级用户”字段不起作用
5 回答
Django:'DeleteQuery'对象没有属性'add'
6 回答
Django:'ModelForm'对象没有属性
5 回答
Django:'python manage.py runserver'返回'TypeError:'WindowsPath'类型的对象没有len()
10 回答
Django:'Python管理.pysyncdb'不创建我的架构表
6 回答
Django:'Python管理.py迁移“耗时数小时(和其他奇怪的行为)
6 回答
Django:'readonly'属性在我的ModelForm上不起作用
1 回答
Django:'RegisterEmployeeView'对象没有属性'object'
1 回答
Django:'str'对象没有属性'get'
4 回答
Django:'创建' 不能被指定为Order模型表单中的值,因为它是一个不可编辑的字段
3 回答
Django:“'QuerySet'类型的对象不是JSON可序列化的”
3 回答
Django:“'utf8'编解码器无法解码位置19983中的字节0xe9:无效的连续字节”,加载临时文件时
9 回答
Django:“<…>”需要有一个字段“id”的值,然后才能使用这个manytomy关系
8 回答
Django:“AnonymousUser”对象没有“get_full_name”属性
9 回答
Django:“ascii”编解码器无法解码位置1035中的字节0xc3:序号不在范围内(128)
1 回答
Django:“BaseTable”对象不支持索引
7 回答
Django:“collections.OrderedDict”对象不可调用
7 回答
Django:“Country”对象没有属性“all”
1 回答
Django:“Data”对象没有属性“save”
4 回答
Django:“datetime”类型的对象不是JSON serializab
10 回答