对于Windows,您可以只创建一个可执行文件(例如 with py2exe
),然后将其重命名.exe
为.scr
您可以右键单击该文件并选择“安装”或将其复制到您的(?)Windows/System32 目录中,以便它显示在屏幕保护程序列表中!
但是有一个假设:我认为最好只创建一个可执行文件而不是常规的一堆文件(=依赖项)。
我使用此 setup-configuration (for py2exe
) 创建一个可执行文件:
from distutils.core import setup
import py2exe
includes = []
excludes = ['_gtkagg', '_tkagg', 'bsddb', 'curses', 'email', 'pywin.debugger',
'pywin.debugger.dbgcon', 'pywin.dialogs', 'tcl',
'Tkconstants', 'Tkinter','MSVCP90.dll']
packages = []
dll_excludes = ['libgdk-win32-2.0-0.dll', 'libgobject-2.0-0.dll', 'tcl84.dll',
'tk84.dll']
setup(
options = {"py2exe": {"compressed": 2,
"optimize": 2,
"includes": includes,
"excludes": excludes,
"packages": packages,
"dll_excludes": dll_excludes,
"bundle_files": 1,
"dist_dir": "dist",
"xref": False,
"skip_archive": False,
"ascii": False,
"custom_boot_script": '',
}
},
zipfile = None,
windows=['main.py'] # <- the name of your code file
)
编辑:要编译它,您需要同一文件夹中的 MSVCP90.dll 文件。如果您在 PC 上找不到它,那么只需使用 google 找到它!
命令行操作符:
根据发生的情况(预览、设置等),有几个命令行操作符被移交。你会在这里有一个列表:http:
//www.wikihow.com/Convert-an-Executable-File-Into-a-Screensaver
可悲的是,那里写的并不全是正确的,所以简而言之:
- /s和/S ... 当屏幕保护程序启动时(其中一个在预览时)
- /c:# ... 当配置按钮被按下时。例如,最好只使用前两个字符
if sys.argv[1][:2]=='/c':
。
- /p # ... 被多次调用(当您关闭配置时,或在预览后等...),每次它返回到一般屏幕保护程序设置。我只是将其与任何其他可能性(除/s /S 或/c:# 除外)一起丢弃。工作正常!
用户输入:处理键盘敲击非常简单,因为它不会在鼠标移动或键盘事件时自动退出,但您必须自己实现这些方法!所以不要忘记编写你的“on_mouse_event_close_program”函数!