-
system() et Windows 7
Bonjour,
J'ai développé une application POS et cette application utilise un exécutable que j'ai développé afin d'utiliser l'imprimante pour les factures. J'ai programmé mon exécutable de façon à ce que tiroir caisse s'ouvre juste avant que j'envoie le texte à l'imprimante. Mon problème c'est que, lorsque j'appelle mon exécutable avec la commande system(), j'ai aussi essayé avec exec(), l'impression se fait mais le tiroir ne s'ouvre pas.
Si j'exécute mon application POS sur mon poste WinXP, tout fonctionne correctement! De même, si j'appelle mon exécutable d'impression en ligne de commande sur le poste Windows 7, le tiroir s'ouvre ausitôt!
J'ai tenté d'appeler un .cmd qui lui appelle mon .exe, mais rien ne fait. Je me demande alors en quoi le fait que l'appelle ces scripts depuis Apache plutôt que manuellement fait une différence. Existe-t-il des circonstances connues qui pourraient expliquer cela?
-
oui
pas le même utilisateur du point de vue systeme qui execute le processus. essaie d'ajouter un runas dans ta commande.
-
Wow! On dirait que Microsoft apprend tranquillement à gérer sa sécurité comme il le faut, comme linux.
-
Peut-on, dans la syntaxe de RUNAS, spécifier le mot de passe de l'utilisateur?
-
Solution finale, démarrer le service Apache en tant qu'Administrateur! Il est impossible de spécifier le mot de passe dans la commande RUNAS pour des raisons évidentes de sécurité à moins d'acheter ou de développer un petit programme qui s'en charge.
Étant donné que mon application s'exécute localement et ne se partage pas sur le réseau, le fait de donner plus de droits à apache représente un risque de sécurité que je considère négligeable.
Merci de ton aide gene69!