विन 7/यूएसी मुझे पागल कर रहा है।मैं एक बाल प्रक्रिया कैसे चला सकता हूं जिसके लिए ऊंचाई की आवश्यकता है और प्रतीक्षा करें?
मेरे सी ++ एप्लिकेशन के भीतर से, मुझे एक निष्पादन योग्य चलाने की आवश्यकता है जिसके लिए विंडोज 7 पर उन्नयन की आवश्यकता है। मैं इस चीज़ को आग लगाना चाहता हूं और आगे बढ़ने से पहले इसे समाप्त करना चाहता हूं। ऐसा करने का सबसे आसान तरीका क्या है?
मैं आमतौर पर CreateProcess()
के माध्यम से इस तरह की चीज करता हूं, लेकिन यह निष्पादन योग्यों के लिए विफल रहता है जिनके लिए ऊंचाई की आवश्यकता होती है।
मैंने cmd.exe /c ...
CreateProcess
के माध्यम से चलने का प्रयास किया, जो काम करता है लेकिन एक बदसूरत cmd टर्मिनल विंडो पॉप अप करता है।
मैं पढ़ रहा हूं कि ShellExecute()
ऊंचाई को अनुमति देगा, लेकिन यह ShellExecute()
का उपयोग करते समय exe को समाप्त करने के लिए प्रतीक्षा करना आसान नहीं लगता है। कुछ आसान system()
काम करेगा?
किसी अन्य विचार की बहुत सराहना की जाती है!
यह अच्छा लग रहा है और बहुत ही गहन है, धन्यवाद के वारिस नहीं है से शुरू करने के लिए है करने के लिए एक ही रास्ता पारित! मेरे बच्चे exe पहले से ही इसके रूप में "आवश्यकता प्रशासक" के रूप में चिह्नित किया गया है; क्षमा करें, इसके बारे में स्पष्ट होना चाहिए था। – KenG
@ केएनजी: आपका स्वागत है; मुझे खुशी है कि यह आपके लिए काम करता है। मैंने मूल रूप से यह माना था कि आपके पास प्रकट हुआ था और बस निष्पादित करने और प्रतीक्षा करने की कोशिश कर रहा था, लेकिन बाद में मुझे एहसास हुआ कि आपका प्रश्न वास्तव में यह नहीं कहता था, इसलिए मैं वापस गया और कुछ और विवरण जोड़े। इस तरह, मुझे संदेह है कि मेरा जवाब भी भविष्य में दूसरों के लिए उपयोगी होगा। –
यदि ऐप तैयार किया जा रहा है तो इसमें यूएसी मैनिफेस्ट है, तो आप 'CreateProcess()' का उपयोग कर सकते हैं, आपको 'ShellExecutEx() 'का उपयोग करने की आवश्यकता नहीं है। ऐप के मेनिफेस्ट ऐसा करने के लिए कहता है, 'CreateProcess()' आवश्यक यूएसी प्रॉम्प्ट और एलिवेशन करता है। –