【发布时间】:2015-09-16 19:38:24
【问题描述】:
我正在 Python 上开发一个键盘记录器(只是为了好奇)。该脚本将是一个可执行文件。无法访问计算机,因此该过程不需要 UI 或用户交互。
有什么办法,即使在另一个可执行文件中,也可以让键盘记录器在启动时启动?
【问题讨论】:
-
也可以创建快捷方式文件,添加到启动文件夹中
标签: python windows python-2.7 executable
我正在 Python 上开发一个键盘记录器(只是为了好奇)。该脚本将是一个可执行文件。无法访问计算机,因此该过程不需要 UI 或用户交互。
有什么办法,即使在另一个可执行文件中,也可以让键盘记录器在启动时启动?
【问题讨论】:
标签: python windows python-2.7 executable
我不使用 Windows,但您可以尝试制作一个运行您的 Python 文件的 batch 脚本并制作该脚本 Run a program automatically when Windows starts:
单击开始按钮 开始按钮的图片,单击全部 程序,右键单击启动文件夹,然后单击打开。
打开包含要创建快捷方式的项目的位置 到。
右键单击该项目,然后单击“创建快捷方式”。新的 快捷方式出现在与原始项目相同的位置。
将快捷方式拖到启动文件夹中。
正如我所说,我不使用 Windows,所以这可能是完全错误的。
您可以参考here 制作BAT 文件,它基本上说:
@echo off
python c:\somescript.py %*
pause
【讨论】:
pythonw.exe 的完全限定路径,或任何 OP 打包的可执行文件的名称。更好的办法是在用户登录时将此计划任务设置为以最高权限运行(即提升,如果用户是管理员)。
使用 VBScript:
1-> 使用此数据创建 anyname.vbs:
设置 wvbs=CreateObject("Wscript.Shell") wvbs.run "你的文件的完整位置",0
2->将anyname.vbs文件复制到C:\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup这个文件夹中
现在,当 Windows 启动时,它将以隐藏模式运行您的文件
【讨论】:
使用“Start + R”打开运行,然后打开“shell:startup”。它会为您打开一个文件夹(之前在开始菜单中提到的文件夹),并且此文件夹中的每个文件都可以在启动时运行。
文件夹路径为:"C:\Users\USERNAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"(可以在windows explorer复制,也可以复制这个路径,把你的账号名放在USERNAME)
这是我在脚本中使用的技巧:
from os import getcwd
from shutil import copy
copy(getcwd()+'/FILE_NAME.exe','C:/Users/USERNAME/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup')
它们也是文件名的一些方法,但我不熟悉它。此代码将其自身复制到启动文件夹并在每次 Windows 启动时启动
【讨论】:
os.getenv("APPDATA")