如何启动一个在Ubuntu(最好是Windows)中接受键盘输入的Python屏幕保护程序?
我正在用Python开发一个家庭使用的小应用程序。它应该作为幻灯片放映屏幕保护程序,但也作为一个原始的图像管理器。我已经介绍了幻灯片放映和图像管理器(我正在使用Tkinter),但是我还没有实现屏幕保护程序。因此,从命令行启动应用程序效果良好 我正在运行Ubuntu,由于我需要应用程序能够接受键盘输入,我认为我不能使用xscreensaver/gnome屏幕保护程序框架,因为它捕获所有内容并显示登录对话框。我很想在这里被证明是错的(在这么多年后回到xscreensaver会很好:) 我想到的解决方案是用它来检测用户空闲的时间,并自己管理屏幕保护程序。但是,找到另一个独立于平台的解决方案是非常理想的,因为我想与一些使用Windows的朋友共享这个程序 关于我的问题,那么:如何启动一个在Ubuntu(最好是Windows)中接受键盘输入的Python屏幕保护程序?,python,windows,ubuntu,screensaver,Python,Windows,Ubuntu,Screensaver,我正在用Python开发一个家庭使用的小应用程序。它应该作为幻灯片放映屏幕保护程序,但也作为一个原始的图像管理器。我已经介绍了幻灯片放映和图像管理器(我正在使用Tkinter),但是我还没有实现屏幕保护程序。因此,从命令行启动应用程序效果良好 我正在运行Ubuntu,由于我需要应用程序能够接受键盘输入,我认为我不能使用xscreensaver/gnome屏幕保护程序框架,因为它捕获所有内容并显示登录对话框。我很想在这里被证明是错的(在这么多年后回到xscreensaver会很好:) 我想到的解决
嗯,有一个pyhack,它允许你使用适用于Mac和Linux的xscreensaver。不确定pyhack模块,但xscreensaverhack允许您捕获键盘和鼠标事件
我听说可能有一个用于Windows屏幕保护程序编程的python库。即使没有,也可以始终使用win32 python包附带的win32 API。Internet上的教程将告诉您为屏幕保护程序调用哪些api函数。不确定是否要使用pyopengl或类似的东西……嗯,有一个pyhack允许您使用适用于Mac和Linux的xscreensaver。不确定pyhack模块,但xscreensaverhack允许您捕获键盘和鼠标事件
我听说可能有一个用于Windows屏幕保护程序编程的python库。即使没有,也可以始终使用win32 python包附带的win32 API。Internet上的教程将告诉您为屏幕保护程序调用哪些api函数。不确定是否要使用pyopengl或类似的东西……对于Windows,您只需创建一个可执行文件(例如使用
py2exe
),然后将其从.exe
重命名为.scr
您可以右键单击该文件并选择“安装”,或者将其复制到(?)Windows/System32目录中,使其显示在屏幕保护程序列表中
不过有一个假设:我认为最好只创建一个可执行文件,而不是常规的一堆文件(=依赖项)
我使用此设置配置(对于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
)
来自distutils.core导入设置
导入py2exe
包括=[]
排除=[''u gtkagg','u tkagg','bsddb','curses','email','pywin.debugger',
“pywin.debugger.dbgcon”、“pywin.dialogs”、“tcl”,
'Tkconstants'、'Tkinter'、'MSVCP90.dll']
软件包=[]
dll_excludes=['libgdk-win32-2.0-0.dll','libgobject-2.0-0.dll','tcl84.dll',
'tk84.dll']
设置(
选项={“py2exe”:{“compressed”:2,
"优化":二,,
“包括”:包括,
“排除”:排除,
“包”:包,
“dll_排除”:dll_排除,
“bundle_文件”:1,
“dist_dir”:“dist”,
“外部参照”:False,
“跳过存档”:False,
“ascii”:假,
“自定义启动脚本”:“”,
}
},
zipfile=无,
windows=['main.py']#对于windows,您只需创建一个可执行文件(例如使用py2exe
),然后将其从.exe
重命名为.scr
您可以右键单击该文件并选择“安装”,或者将其复制到(?)Windows/System32目录中,使其显示在屏幕保护程序列表中
不过有一个假设:我认为最好只创建一个可执行文件,而不是常规的一堆文件(=依赖项)
我使用此设置配置(对于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
)
来自distutils.core导入设置
导入py2exe
包括=[]
排除=[''u gtkagg','u tkagg','bsddb','curses','email','pywin.debugger',
“pywin.debugger.dbgcon”、“pywin.dialogs”、“tcl”,
'Tkconstants'、'Tkinter'、'MSVCP90.dll']
软件包=[]
dll_excludes=['libgdk-win32-2.0-0.dll','libgobject-2.0-0.dll','tcl84.dll',
'tk84.dll']
设置(
选项={“py2exe”:{“compressed”:2,
"优化":二,,
“包括”:包括,
“排除”:排除,
“包”:包,
“dll_排除”:dll_排除,
“bundle_文件”:1,
“dist_dir”:“dist”,
“外部参照”:False,
“跳过存档”:False,
“ascii”:假,
“自定义启动脚本”:“”,
}
},
zipfile=无,
windows=['main.py']#谢谢!最后一个答案:)将研究pyhack!这里是一个用于windows的python屏幕保护程序模块:谢谢!最后一个答案:)将研究pyhack!以下是适用于windows的python屏幕保护程序模块: