Vous faites AssignProcessToJobObject
et il échoue avec “access refusé”, mais uniquement lorsque vous exécutez le débogueur. Pourquoi est-ce?
Celui-ci m’a laissé perplexe pendant environ 30 minutes.
Tout d’abord, vous avez probablement besoin d’un manifeste UAC intégré à votre application ( comme suggéré ici ). Quelque chose comme ça:
Deuxièmement (et c’est le bit sur lequel je me suis coincé), lorsque vous exécutez votre application sous le débogueur, cela crée votre processus dans un object de travail. Ce que votre processus enfant doit pouvoir séparer avant de pouvoir l’atsortingbuer à votre travail. Donc (duh), vous devez spécifier CREATE_BREAKAWAY_FROM_JOB
dans les indicateurs de CreateProcess
).
Si vous n’exécutiez pas sous le débogueur ou si votre processus parent était en cours, cela ne se serait pas produit.
Cela semble me piquer assez souvent, et même s’il est bon, le message de 1800INFORMATION ne semble pas inclure un certain nombre de raisons et de corrections qui semblent utiles, il semble donc intéressant de publier un résumé des raisons pour lesquelles j’ai vu cela se produire.