मैं कैसे आप ऊंचा जावा आवेदन मिलता है समझा जाएगा
import java.io.IOException;
public class RunAsAdminExample {
public static void main(String[] args) throws IOException {
Process myappProcess = Runtime.getRuntime().exec("powershell.exe Start-Process <program.exe> -verb RunAs");
}
}
program.exe उदाहरण सिर्फ notepad.exe
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");
}
}
से आप ऊंचा कार्यक्रम मिल गया है कहते हैं। मैं तुम्हें recommand - आप से आप क्लिक कर सकते हैं Launch4j या Parcle तरह द्विआधारी आवरण में बदलने की जरूरत है - (। जावा स्विंग या AWT द्वारा किए गए) आप कस्टम संस्थापक बनाते हैं
मुझे आशा है कि आप अच्छा समाधान :) है - आप तो का उपयोग लिनक्स या मैक ओएस एक्स से आप Parcle द्विआधारी आवरण या अन्य आवरण यदि आप जानते हैं का उपयोग की आवश्यकता है ...
// संपादित अच्छा विचार Kaptkaos द्वारा से आप सरल लिखें:
import java.io.IOException;
public class RunAsAdminExample {
public static void main(String[] args) throws IOException {
Process myappProcess = Runtime.getRuntime().exec("powershell.exe Start-Process -FilePath java.exe -Argument '-jar runasadmin.jar' -verb RunAs");
}
}
के लिए मत भूलना स्टार्ट-प्रोसेस के आर्ग्यूमेंट से '' और '"if -jar .jar का उपयोग करें। नोट भूल नहीं है - आप निर्देशिका और जार फ़ाइल काम कर उपयोग करते हैं तो निर्देशिका उदाहरण काम करने में किया जाना चाहिए \ myjar.jar जावा \ RunAsAdminExample.class से आप तर्क के साथ ऊंचा जावा देख सकते हैं :)
सादर।।!
पाठ्यक्रम की समस्या यह है कि "निष्पादन योग्य" JVM होगा, न कि आपका स्वयं का कोड। और चूंकि मैनिफेस्ट JVM पर लागू होता है, यह उस जेवीएम द्वारा चलाए गए किसी भी चीज़ पर लागू होता है। – MSalters
क्या होगा यदि आपके पास एक रैपर एक्सई है जो जावा लॉन्च करता है? क्या व्यवस्थापक पहुंच को बाल प्रक्रिया (जेवीएम) द्वारा विरासत में प्राप्त किया जाएगा? – Cal
@Cal - Yes - एक बार प्रक्रिया बढ़ने के बाद, यह सभी प्रक्रियाओं को ऊंचा कर दिया जाएगा। यूएसी ऊंचाई सचमुच उपयोगकर्ता को बदलती है कि एप्लिकेशन चल रहा है, और यह एक तरफा सड़क है - आप ऊंचा कर सकते हैं, लेकिन आप वापस नहीं आ सकते हैं। –