Comment demander des privilèges d'administrateur dans une application Java
En Java, il n'existe aucun moyen direct de demander au système des privilèges élevés. La méthode typique consistant à cliquer avec le bouton droit sur l'exécutable et à sélectionner « Exécuter en tant qu'administrateur » ne peut pas être répliquée par programme.
Utilisation d'un fichier manifeste
Pour accorder les autorisations d'administrateur de votre application, vous devez créer un fichier manifeste qui spécifie cette exigence. Ce fichier peut être inclus dans votre exécutable ou conservé séparément en tant que fichier compagnon (par exemple, yourapp.exe.manifest).
Contenu du fichier manifeste
Le fichier manifeste doit avoir le contenu suivant :
<manifest xmlns="urn:schemas-microsoft-com:asm.v3"> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> </security> </trustInfo> </manifest>
L'attribut requireAdministrator définit le niveau d'exécution sur "requireAdministrator", ce qui élèvera les privilèges de l'application. L'attribut uiAccess défini sur "false" signifie qu'aucune invite UAC ne s'affiche lorsque l'utilisateur lance l'application.
Création du fichier manifeste
Vous pouvez créer le fichier manifeste en utilisant n'importe quel éditeur de texte et enregistrez-le avec l'extension .manifest.
Inclure le manifeste dans l'exécutable
Si vous souhaitez inclure le manifeste dans l'exécutable lui-même, vous Vous pouvez utiliser la commande suivante :
jar -cfm yourapp.exe MANIFEST.MF yourapp.jar
Vous pouvez également conserver le manifeste dans un fichier séparé et spécifier son emplacement dans les options de démarrage de la machine virtuelle Java (JVM) :
java -jar yourapp.jar -mxf yourapp.exe.manifest
En mettant en œuvre ces étapes, votre application Java demandera à l'utilisateur les privilèges d'administrateur (UAC), de la même manière que le font les exécutables Windows.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!