PyQt: лучший способ сделать трюк «начать при загрузке» для моей программы в Windows
Я использую PyQt для разработки приложения, которое в Windows, если оно установлено в настройках, должно начинаться с загрузки.
Я выпускаю это программное обеспечение с PyInstaller как один исполняемый файл; У меня нет надлежащего «установщика».
Каков наилучший способ достичь этого? (= запуск при загрузке)
Возможным решением является добавление ссылки в папку автозагрузки, но я должен сделать это из программного обеспечения: это возможно? Другие способы?
Существует универсальный путь к папке автозагрузки? Могу ли я иметь проблему с некоторыми правами?
- Не удается получить lexers.PythonLexer () из приложения Kivy, созданного с помощью PyInstaller
- Pyinstaller, дающий фатальную ошибку (возвращается-1)
- Ошибка использования cx_freeze и PyInstaller для создания файла .exe в Python (включая xlwings)
- Ошибка Pyinstaller ImportError: нет модуля с именем 'requests.packages.chardet.sys
- Как создать exe-файл, который включает в себя модуль cv
попробуйте этот код (он работает для меня с py2exe):
import sys from PyQt4.QtCore import QSettings from PyQt4.QtGui import (QApplication, QWidget, QCheckBox, QPushButton, QVBoxLayout) RUN_PATH = "HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run" class MainWidget(QWidget): def __init__(self,parent=None): super(MainWidget, self).__init__(parent) self.settings = QSettings(RUN_PATH, QSettings.NativeFormat) self.setupUi() # Check if value exists in registry self.checkbox.setChecked(self.settings.contains("MainWidget")) def setupUi(self): self.checkbox = QCheckBox("Boot at Startup", self) button = QPushButton("Close", self) button.clicked.connect(self.close) layout = QVBoxLayout(self) layout.addWidget(self.checkbox) layout.addWidget(button) def closeEvent(self, event): if self.checkbox.isChecked(): self.settings.setValue("MainWidget",sys.argv[0]); else: self.settings.remove("MainWidget"); event.accept() if __name__ == '__main__': app = QApplication(sys.argv) w = MainWidget() w.show() app.exec_()
Вы можете добавить раздел реестра в раздел [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run], с любым именем и значением "path_to_your_exec". это потребует права локального администратора, но будет работать для всех пользователей. Тот же ключ, но начиная с [HKEY_CURRENT_USER], не потребует прав администратора, но будет работать только для текущего пользователя. Этот путь реестра одинаковый для win2k..win7
- PyInstaller не может найти libpython2.7.so при создании двоичного кода?
- Exe, созданный с помощью Pyinstaller в Windows 7, не работает в xp и linux
- Python PyInstaller и включить значок окна
- Что означает «MEIPASS»?
- Python как безопасный exe и, возможно, даже приложение для Windows Store?
- нужно поместить 2 файла dll в system32 pyinstaller
- PyInstaller имеет проблемы с flask.ext import
- PyInstaller, но сохраняя файлы .py
- pyInstaller, изменяющий местоположение dll и pyd