Pagina 1 di 1

[RISOLTO] Scorciatoia PyScripter

Pubblicato: 27 febbraio 2024 - ore 12:00
di rcharpeil
Server WAPT: 2.4 Debian 11 Bullseye
Console Admin: Windows 10, WAPT 2.4
Pacchetto FlameShot

Salve, dato che non ho molta familiarità con PyScripter, vorrei aggiungere una riga alla configurazione del pacchetto FlameShot che crei automaticamente il collegamento al programma in \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup per avviare FlameShot automaticamente all'avvio.

Potete aiutarmi?
Grazie in anticipo

.

Re: Scorciatoia PyScripter

Pubblicato: 28 febbraio 2024 - 16:12
di dcardon
Ciao Romain,

È meglio inserirlo nel menu di avvio della macchina piuttosto che in quello dell'utente, a meno che non si voglia consentire agli utenti di eliminarlo.

Codice: Seleziona tutto

create_programs_menu_shortcut('test',target=makepath(programfiles, "Flameshot","bin", "flameshot.exe"),folder='StartUp'
Sinceramente,

Denis

Re: Scorciatoia PyScripter

Pubblicato: 29 febbraio 2024 - 10:11
di rcharpeil
Ciao, con l'aiuto dei miei superiori e tuo, ho creato uno script funzionante che installa l'applicazione e aggiunge un collegamento alla barra delle applicazioni di Windows e alla cartella di avvio per tutti gli utenti del computer. Condivido il codice qui per chiunque possa essere interessato.
Saluti

Codice: Seleziona tutto

from setuphelpers import *
import subprocess

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Déclaration des variables globales - Avertissements : 1) Le contexte WAPT n'est disponible que dans les fonctions de paquet ; 2) Les variables globales ne sont pas persistantes entre les appels


def install():
    # Déclaration des variables locales

    # Installation du logiciel
    print("Installation : Flameshot-12.1.0-win64.msi")
    install_msi_if_needed('Flameshot-12.1.0-win64.msi')

    # Chemin vers le dossier de démarrage commun pour tous les utilisateurs
    all_users_startup_folder = os.path.join(os.getenv('ProgramData'), 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup')

    # Création du raccourci dans le dossier de démarrage commun pour tous les utilisateurs
    create_programs_menu_shortcut("Flameshot", makepath(programfiles, "Flameshot", "bin", "flameshot.exe"), folder=all_users_startup_folder)

    # Lancement de Flameshot
    print("Lancement de Flameshot...")
    subprocess.Popen(makepath(programfiles, "Flameshot", "bin", "flameshot.exe"))


def uninstall():
    # Suppression du raccourci du dossier de démarrage commun pour tous les utilisateurs
    remove()


def remove():
    # Chemin vers le raccourci dans le dossier de démarrage commun pour tous les utilisateurs
    all_users_startup_folder = os.path.join(os.getenv('ProgramData'), 'Microsoft', 'Windows', 'Start Menu', 'Programs', 'Startup')
    shortcut_path = os.path.join(all_users_startup_folder, "Flameshot.lnk")

    # Vérifier si le fichier du raccourci existe, puis le supprimer
    if os.path.exists(shortcut_path):
        os.remove(shortcut_path)
        print("Raccourci supprimé avec succès.")
    else:
        print("Le raccourci n'existe pas.")


Re: Scorciatoia PyScripter

Pubblicato: 29 febbraio 2024 - 11:58
di dcardon
Ciao Romain,

grazie per il feedback, :-) contrassegno la discussione come RISOLTA.

Denis