Page 1 sur 1

[RESOLU] PyScripter raccourci

Publié : 27 févr. 2024 - 12:00
par rcharpeil
WAPT server : 2.4 Debian 11 Bullseye
Console Admin : Windows 10, wapt 2.4
Paquet FlameShot

Bonjour, n'ayant pas beaucoup de connaissances sur PyScripter, j'aimerais ajouter dans la configuration du paquet FlameShot une ligne qui permettrait automatiquement d'ajouter le raccourci du logiciel dans \AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup pour lancer automatique au démarrage FlameShot.

Pouvez-vous m'aider ?
Je vous remercie par avance

cdt

Re: PyScripter raccourci

Publié : 28 févr. 2024 - 16:12
par dcardon
Bonjour Romain,

Il faut mieux le mettre dans le startup menu de la machine plutôt que celui de l'utilisateur, à moins que tu veuilles laisser les users pouvoir le supprimer.

Code : Tout sélectionner

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

Denis

Re: PyScripter raccourci

Publié : 29 févr. 2024 - 10:11
par rcharpeil
Bonjour, avec l'aide de mes supérieurs et de vous, j'ai créé un script fonctionnel qui installe l'application en ajoutant un raccourci dans la barre des tâches de Windows et dans le dossier de démarrage, pour tous les utilisateurs du poste. Je partage le code ici pour les personnes qui pourraient être intéressées.
cdt

Code : Tout sélectionner

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: PyScripter raccourci

Publié : 29 févr. 2024 - 11:58
par dcardon
Bonjour Romain,

merci pour le retour :-) je passe le topic en RESOLU.

Denis