Bonjour,

J'ai un soucis sous Windows.

J'ai paramétré un raccourci pour lancer un QProcess depuis mon application principale, il permet de lancer une application externe qui enregistre des paramètres. (Volonté que le module de configuration ne soit pas directement accessible à l'utilisateur - via un menu ou un bouton par exemple).

Je procède au déploiement de mon application via Inno Setup, pas de soucis, tout fonctionne de ce coté.

De ce fait, je connais par avance le chemin de l'exécutable, que je récupère via un QStandardPaths.

En voyant que mon raccourci ne fonctionnait pas, j'ai loggé des messages dans un fichier : le chemin de l'exécutable à lancer est le bon, mais le QProcess ne se lance pas.

Est-ce lié au fait qu'il se trouve dans "C:\Program Files (x86)\..." ? et s'il s'agit de cela, comment résoudre mon problème ?

Voici le code qui crée le raccourci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
    QShortcut *shrtcutLaunchConf = new QShortcut(tr("Ctrl+Shift+C"), this);
    //Connections
    connect(shrtcutLaunchConf, SIGNAL(activated()), this, SLOT(openConfig()));
et celui qui appelle le QProcess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
void EmWindow::openConfig()
{
    QProcess *config = new QProcess();
    QString programmPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "", QStandardPaths::LocateDirectory);
    programmPath +="emConf.exe";
logMessage("[openconfig()] programmPath set to :");
logMessage(programmPath);
     config->start(programmPath);
}