2011-04-20 4 views
2

나는 응용 프로그램을 시작하는 dos 명령을 가지고 있습니다. 응용 프로그램을 관리자로 시작하고 싶습니다. 내가 어떻게 할 수 있니? 아래는 내가 시도한 코드입니다.관리자로 java를 통해 dos 명령을 실행합니다.

String arg[]={"C:\\app1.exe", "C:\\app2.exe", "c:\\app3.exe"}; 
String pwd[]={"123","-x","-sf"}; 
String outputfile="c:\\output.xml" 
String command=arg[0]+pwd[0]+arg[1]+pwd[1]+arg[2]+pwd[3]+output; 
Process pr=rt.exec(command); 

명령 프롬프트에서 동일한 명령을 시도해 보았습니다. 그러나 자바 코드에서 동일한 것을 실행하려고하면 출력을 생성하지 않고 계속 실행됩니다.

+1

잘 모르겠어요,하지만 윈도우 API을 활용하지 않고이 작업을 수행하기 위해, 당신은 아마 고도와 자바 프로그램을 실행해야합니다. 그러면 프로그램에서 고도가 올라갑니다. – Andy

답변

2
+0

나는 runas를 사용하려고했지만 runas를 주면 ".exe"응용 프로그램이 시작되지 않습니다. 나는 runas/user : macname \\ admin을 주었다. – sahana

+0

java'exec()'에서 실행하기 전에 명령 프롬프트에서'runas' 매개 변수로'/ env' 매개 변수를 사용해 보셨습니까? '/ env'를 지정하지 않으면 runas는 현재 사용자/프로세스에서 설정 한 환경 변수가 아닌'/ user' 매개 변수의 사용자 프로파일에 설정된 환경 변수를 사용하여 runas를 실행한다고 가정합니다. – eee

+0

내 제안 여전히 작동하지 않는다면, nalroff가 제안한대로 (예 :'관리자 권한으로 실행'또는 Windows'.manifest'를 사용하여 자바 애플리케이션의 보안 수준을 설정하는 것과 같이) 가능한 가장 높은 권한으로 앱의 권한을 높이는 것 외에는 선택할 수 없습니다 file)'exec()'에서 호출 한 모든 내용은 앱과 동일한 권한을 상속받습니다 – eee

관련 문제