जावा एप्लिकेशन के भीतर से उन्नत अनुमतियों के लिए पूछना संभव है? मैंने जो सुझाव देखा है, वे सभी बाहरी निष्पादन योग्य चलाने या लॉन्च पर विशेषाधिकारों का अनुरोध करने के लिए एक मैनिफेस्ट स्थापित करने के आसपास केंद्रित हैं। उदाहरण के लिए, एप्लेट्स के लिए ये उपलब्ध नहीं हैं। क्या चल रहे एप्लिकेशन से उन्नयन का अनुरोध करने का कोई तरीका है?यूएसी और जावा
उत्तर
यूएसी ऐसा कुछ नहीं है जो चलने वाली प्रक्रिया का अनुरोध कर सके (इससे कोई फ़र्क नहीं पड़ता कि आप किस भाषा में चल रहे हैं)। आपको लॉन्च समय पर उन्नयन का अनुरोध करना होगा।
तरीका है कि सबसे खिड़कियों एप्लिकेशन इसका संभाल (और यह देखो की तरह वे ऊंचाई अनुरोध कर रहे हैं बनाने के) के लिए खुद की एक अतिरिक्त प्रति अंडे देने के लिए, ऊंचाई का अनुरोध, और नई प्रक्रिया के लिए पर्याप्त आदेश पंक्ति तर्क गुजर है ताकि उपयुक्त संवाद प्रदर्शित किया जा सकता है।
यही कारण है कि एक संवाद में यूएसी ऊंचाई हमेशा एक बटन क्लिक द्वारा शुरू की जाती है जो एक नया संवाद खोलता है।
तो, जावा दुनिया में, आपको बस इतना करना है कि हर किसी को क्या करना है: उन्नयन का अनुरोध करते हुए अपना ऐप लॉन्च करें। उन्नत लॉन्च करने के कई तरीके हैं, 'रन के रूप में' क्रिया संभवतः सबसे आसान है।
ऊंचाई अनुरोध पर अधिक जानकारी कृपया। मैं Google पर खाली आ रहा हूं और "रनस" का उपयोग करने की कोशिश कर रहा हूं बस विफल रहता है (यह संवाद को पॉप करने के बजाय सीएलआई से पासवर्ड ढूंढ रहा है)। –
@ ब्रायन - क्या यह मदद करता है? http://stackoverflow.com/questions/1797695/how-to-runlaunch-elevated-command-promt-programmiticaly-in-vista - यदि नहीं, तो आप जिस कोड का उपयोग कर रहे हैं उसके साथ एक नया प्रश्न बनाएं और इस टिप्पणी के लिंक को पोस्ट करें धागा और मैं देखूंगा कि मैं कौन सी मदद कर सकता हूं। –
@ केविन भयभीत नहीं है। मैं नेट का उपयोग नहीं कर रहा हूँ, मैं जावा का उपयोग कर रहा हूँ।इसके अलावा, मैं पहले से जावा समकक्ष कर रहा हूं। मैं जो भी चाहता हूं उसे उसी ऊंचाई स्तर पर लॉन्च करने में सक्षम हूं, लेकिन जब मैं इसे अपने ऐप से इस तरह से आगे बढ़ाने की कोशिश करता हूं, तो यह बिना किसी त्रुटि के और तुरंत कुछ भी किए बिना वापस उछालता है। कमांड लाइन से यह कमांड लाइन पासवर्ड प्रॉम्प्ट फेंकता है। –
ऐसा लगता है कि सूर्य को जेआरई में उस तरह की स्थिति को संभालना होगा क्योंकि बाह्य प्रक्रिया चलाने से ऊंचे कार्यों को करने का कोई अन्य तरीका नहीं है।
यदि जेआरई ने इसका समर्थन किया है, तो जेवीएम को ऊंचाई के अनुरोध के लिए जावा कोड के लिए शायद एक अलग, उन्नत प्रक्रिया चलनी होगी।
अभी के लिए, हालांकि, केवल प्रकट होने या बाहरी अनुप्रयोग चलाने के लिए केवल एक ही समाधान उपलब्ध है, जहां तक मुझे पता है।
सवाल यह है कि, आपको किसके लिए ऊंचाई की आवश्यकता है?
अतीत में, हम कुछ मूल कोड स्थापित करने और लोड करने के लिए हस्ताक्षरित एप्लेट का उपयोग करने में सक्षम थे। Vista पर यूएसी सक्षम होने पर यह अब संभव नहीं है, भले ही जावा का सुरक्षा मॉडल स्पष्ट रूप से इसकी अनुमति देता है। – joegester
जावा प्राथमिकता API (सिस्टम स्तर) विफल रहता है यदि यूएसी भी चालू है ... –
आपको ऐसा करने के लिए बाहरी (मूल) एप्लिकेशन का उपयोग करना होगा। UAC Prompt From Java
आप jna का उपयोग करें और एक ShellExec कर सकता है: इस पोस्ट में स्रोत कोड और एक महान विवरण उपलब्ध कराती है। एलपी ऑपरेशन के लिए "रनस" का उपयोग करें (यह दस्तावेज नहीं है)। चूंकि आपको संभावित रूप से (वर्तमान) जावावीएम के पूर्ण पथ की आवश्यकता है, जो कि registry access पर रजिस्ट्री दृष्टिकोण में संग्रहीत है, जेएनए का हिस्सा है।
जावा उस फ़ोल्डर को गोटो करें जहां जावा स्थापित है। javaw.exe/java.exe के गुणों को खोलें और "व्यवस्थापक के रूप में चलाएं" विकल्प को सही सेट करें।
- 1. यूएसी
- 2. विस्टा और यूएसी (सी, विंडोज़)
- 3. Vista यूएसी, एक्सेस ऊंचाई और .NET
- 4. वाईएक्स, यूएसी, प्रबंधित कस्टम एक्शन और प्रतिरूपण
- 5. विंडोज 7 और विस्टा यूएसी - सी #
- 6. यूएसी वर्चुअलाइजेशन को रोकें?
- 7. एक यूएसी उन्नत इंस्टॉलर
- 8. विंडोज यूएसी संवाद
- 9. यूएसी/व्यवस्थापक विशेषाधिकार
- 10. विंडोज 7 यूएसी चेतावनी संदेश
- 11. एमएसआई, यूएसी और अज्ञात प्रकाशक। मैं अज्ञात प्रकाशक कैसे बदलूं?
- 12. Vista यूएसी - समस्या मैपिंग नेटवर्क ड्राइव
- 13. PowerShell में यूएसी शीघ्र दिखा कार्रवाई ऊंचाई
- 14. हस्ताक्षरित इंस्टॉलर (वाईएक्स) के यूएसी प्रॉम्प्ट में आइकन कैसे बदलें?
- 15. डेल्फी 2010 प्रोग्राम विस्टा/win7 यूएसी को डिफ़ॉल्ट रूप से
- 16. इंस्टॉलेशन पूर्ण होने के बाद एप्लिकेशन लॉन्च करें, यूएसी
- 17. PowerShell स्क्रिप्ट में व्यवस्थापक के रूप में कमांड चलाएं। यूएसी
- 18. सुरक्षित रूप से यूएसी ऊंचाई के साथ आईपीसी कैसे करें?
- 19. Vbscript पता लगाता है कि क्या यूएसी-एलिवेटेड
- 20. Vista पर Windows इंस्टालर में यूएसी वैकल्पिक बनाएं
- 21. क्या यूएसी एक और प्रक्रिया शुरू किए बिना एक प्रक्रिया को बढ़ा सकता है
- 22. एक बटन में एक यूएसी शील्ड जोड़ें और अपनी पृष्ठभूमि छवि को बनाए रखें?
- 23. मेरे यूएसी को पंप करें और इसके बारे में कुछ प्रश्न
- 24. जावा एसई और जावा ईई
- 25. क्षमताओं और लिनक्स और जावा
- 26. जावा और सी # और .NET
- 27. बेंचमार्क और सी # और जावा
- 28. जावा और जावा के बीच अंतर
- 29. जावा, जावा ईई, सी #, एएसपीनेट और एसओए
- 30. जावा ईई 5 और जावा ईई 6
http://stackoverflow.com/questions/1385866/java-run-as-administrator/1385901#1385901 देखें, जो विशेषाधिकार प्राप्त कार्यों को करने के लिए एक अलग उन्नत प्रक्रिया लॉन्च करने के लिए Elevate.exe उपयोगिता का उपयोग करने का सुझाव देता है। – rob
यह जेएनए के माध्यम से किया जा सकता है। [यह] देखें (http://stackoverflow.com/questions/11041509/elevating-a-processbuilder-process-via-uac) – dARKpRINCE