2017-09-15 2 views
0

J'essaie d'exécuter un fichier exe via le code Java. J'ai écrit ci-dessous un code simple dans Eclipse mais j'ai eu une erreur. J'ai essayé plusieurs solutions mais en vain.Impossible d'exécuter le fichier exe via le code java, dans Selenium WebDriver

Mon code:

package com.runExeFile; 

import java.io.File; 

public class ClassA { 

    public static void main(String[] args) throws Exception { 
     Runtime.getRuntime().exec("C:\\FlashBuild\\14_09_2017_play_27_0_r0_137\\FF_32Release\\Something.exe"); 
    } 

} 

L'erreur que je reçois:

Exception in thread "main" java.io.IOException: Cannot run program "C:\FlashBuild\14_09_2017_play_27_0_r0_137\FF_32Release\install_flash_player_27_plugin.exe": CreateProcess error=740, The requested operation requires elevation 
    at java.lang.ProcessBuilder.start(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 
    at java.lang.Runtime.exec(Unknown Source) 
    at com.runExeFile.ClassA.main(ClassA.java:9) 
Caused by: java.io.IOException: CreateProcess error=740, The requested operation requires elevation 
    at java.lang.ProcessImpl.create(Native Method) 
    at java.lang.ProcessImpl.<init>(Unknown Source)`enter code here` 
    at java.lang.ProcessImpl.start(Unknown Source) 
+0

C'est ce que l'erreur indique: Vous devez exécuter le programme avec des autorisations élevées. – Jerrybibo

+1

Copie possible de [Erreur CreateProcess = 740, L'opération demandée nécessite une élévation] (https://stackoverflow.com/questions/5853529/createprocess-error-740-the-requested-operation-requires-elevation) –

Répondre

1

Il est parce que vous devez exécuter le programme en tant qu'administrateur. Pour exécuter le programme en tant qu'administrateur, voici le code. L'erreur 740 est à cause de cela seulement. Voir ce lien

CreateProcess error=740, The requested operation requires elevation

Java: run as administrator

import java.io.IOException; 

public class RunAsAdminExample { 
    public static void main(String[] args) throws IOException { 
     Process myappProcess = Runtime.getRuntime().exec("powershell.exe Start-Process notepad.exe -verb RunAs"); 
    } 
} 
+0

ci-dessous ligne de code, mais je n'ai pas compris comment cela fonctionne. Runtime.getRuntime(). Exec ("rundll32 url.dll, FileProtocolHandler" + PathOfExe); –

0

je l'avais fait récemment. et la façon dont je l'ai fait était

try { 
    File fileDirectory = new File("C:/someDirectory"); 
    Runtime.getRuntime().exec(new String[]{"cmd","/C","start someRunnable.exe"}, null, fileDirectory); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 

qui vous avez besoin de spécifier le répertoire pour exécuter et l'invite de commande de démarrage pour lancer l'exécutable.