Windows开机启动设置
方法1:将快捷方式拷贝至“启动”目录
app_data_directory = QStandardPaths.writableLocation(QStandardPaths.StandardLocation.AppDataLocation)
startup_directory = QDir.cleanPath(app_data_directory + '/../Microsoft/Windows/Start Menu/Programs/Startup')
# 将快捷方式拷贝到启动目录
方法2:使用注册表
# 添加开机启动
# --autostart会作为启动参数传入,你也可以添加其它启动参数来实现启动时需要实现的操作
setting = QSetting('HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run', QSettings.Format.NativeFormat)
setting.setValue('Your app name', f'"Executable path" --autostarrt')
setting.sync()
# 取消开机启动
setting.remove('Your app name')
setting.sync()
Mac OS开机启动设置
方法1:使用Apple Script
# 添加开机启动
# path设置为App路径
# hidden设置为true时,启动时会隐藏窗口
tell application "System Events" to
make login item at end with properties {name: "Your app name", path: "Your app path", hidden: true}
end tell
# 取消开机启动
tell application "System Events"
set theItems to login items whose path is "Your app path"
repeat with aItem in theItems
delete aItem
end repeat
end tell
方法2:使用配置文件
# 在~/Library/LaunchAgents目录下创建.plist文件
path = QDir.cleanPath(QStandardPaths.writableLocation(QStandardPaths.StandardLocation.HomeLocation) + QDir.seperator() + 'Library/LaunchAgents/Your config.plist)
setting = QSettings(path, QSettings.Format.NativeFormat)
setting.setValue('Label', 'com.company.product.startup')
setting.setValue('RunAtLoad', True) # 关键设置
setting.setValue('Disabled', False)
setting.setValue('ProgramArguments', [ 'Executable path', '--autostart'])
setting.sync()