Maison >Java >javaDidacticiel >Comment exécuter des applications Java avec des privilèges d'administrateur ?

Comment exécuter des applications Java avec des privilèges d'administrateur ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-25 18:48:10492parcourir

How to Run Java Applications with Administrator Privileges?

Exécuter des applications Java en tant qu'administrateur

En Java, il est possible de demander des privilèges d'administrateur pour votre application sans avoir besoin d'une saisie manuelle de l'utilisateur. Ceci est réalisé en créant un fichier manifeste qui définit les exigences de l'application.

Création du fichier manifeste

Pour créer le fichier manifeste, utilisez un éditeur XML tel que Notepad . Le manifeste doit avoir le format suivant :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<manifest xmlns="urn:schemas-microsoft-com:asm.v1">
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
      <security>
        <requestedPrivileges>
          <requestedExecutionLevel level="requireAdministrator" />
        </requestedPrivileges>
      </security>
    </trustInfo>
  </assembly>
</manifest>

Intégration du manifeste

Vous pouvez intégrer le manifeste dans le fichier JAR en utilisant l'option -manifest lors de la compilation :

jar -cvfm myapp.jar META-INF/MANIFEST.MF myapp/*.class

Vous pouvez également externaliser le manifeste sous la forme d'un fichier distinct nommé myapp.exe.manifest. Dans ce cas, spécifiez le manifeste dans l'entrée Main-Class du manifeste d'origine :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<manifest xmlns="urn:schemas-microsoft-com:asm.v1">
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <entryPoint>
      <assemblyIdentity version="1.0.0.0" name="myapp" type="win32" processorArchitecture="*" />
      <commandLine file="myapp.exe" parameters="" />
    </entryPoint>
    <dependency>
      <dependentAssembly>
        <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" />
      </dependentAssembly>
    </dependency>
  </assembly>
</manifest>

En spécifiant le requestExecutionLevel dans le manifeste, votre application demandera à l'utilisateur les privilèges d'administrateur via la boîte de dialogue UAC lors de son exécution. .

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn