c# - How can I copy a file as a "Standard User" in Vista (ie "An Administrative Choice Application") by prompting user for admin credentials? -


मेरे पास है जो यूएसी विकास मार्गदर्शिकाएं एक "प्रशासनिक विकल्प अनुप्रयोग" के रूप में दर्शाती हैं। यदि आप परिचित हैं कि यह अगले अनुभाग पर जा रहा है।

पृष्ठभूमि:

मैं एक "मानक" उपयोगकर्ता को चलाने की चुनने / अचयनित करने की क्षमता देना चाहता हूं मेरे आवेदन के लिए प्राथमिकताओं में स्टार्टअप विकल्प।

चूंकि मेरा एप्लिकेशन प्रति मशीन है (प्रति उपयोगकर्ता नहीं), क्या होने की आवश्यकता है, इसे या तो स्टार्ट मेनू / प्रोग्राम में एक शॉर्टकट फाइल को हटाने या कॉपी करने की आवश्यकता होगी / स्टार्टअप फ़ोल्डर जिसे इस ऑपरेशन के लिए व्यवस्थापकीय पहुंच की आवश्यकता होगी।

तो, मुझे जो दिखाना है वह "उपयोगकर्ता खाता नियंत्रण क्रेडेंशियल प्रॉम्प्ट" के लिए होता है और उस तरह यदि उपयोगकर्ता के पास एक व्यवस्थापक खाता भी होता है वे क्रेडेंशियल में डाल सकते हैं यह जाहिरा तौर पर है कि प्रयोक्ता को जब भी प्रशासनिक कुछ करने की आवश्यकता होती है, तब उपयोगकर्ता को दूसरे खाते पर स्विच करने के लिए आवेदन करने के लिए डिज़ाइन किया जाता है।

एमएसडीएन दस्तावेज़ीकरण से उद्धरण:

एक प्रशासनिक चुनाव आवेदन

एक उच्चतर प्रक्रिया या COM ऑब्जेक्ट

आरंभिक अनुप्रयोग ऊंचाई की आवश्यकता के बिना लॉन्च करता है। उपयोगकर्ता इंटरफ़ेस में उन आइटमों को एक व्यवस्थापकीय पहुंच टोकन की आवश्यकता होती है जो पहचान के रूप में ढाल आइकन के साथ सजाए जाते हैं। यह सजावट उस उपयोगकर्ता को इंगित करता है कि उस सुविधा का उपयोग करने के लिए व्यवस्थापक अनुमोदन की आवश्यकता होगी जब एप्लिकेशन को पता चलता है कि इन बटनों में से एक का चयन किया गया है, तो इसमें निम्नलिखित दो विकल्प हैं।

  • व्यवस्थापक द्वारा प्रशासकीय कार्य करने के लिए ShellExecute () का उपयोग करके एक दूसरा प्रोग्राम लॉन्च किया गया है। इस दूसरे कार्यक्रम की आवश्यकताएक्सएक्यूशन लेन-देन के साथ-साथ व्यवस्थापक को चिह्नित किया जाएगा, जिससे उपयोगकर्ता को अनुमोदन के लिए प्रेरित किया जा सकेगा। यह दूसरा प्रोग्राम पूर्ण प्रशासनिक पहुंच टोकन के साथ चल रहा होगा और वांछित कार्य करने में सक्षम होगा। -OR -
  • अनुप्रयोग CreateElevatedComObject () का उपयोग कर एक COM ऑब्जेक्ट लॉन्च करता है यह एपीआई COM ऑब्जेक्ट को पूर्ण प्रशासनिक पहुंच टोकन अनुमोदन के साथ शुरू करेगा और यह COM ऑब्जेक्ट वांछित कार्य करने में सक्षम होगा।

मुझे सिर्फ एक फ़ाइल कॉपी करने की आवश्यकता है ... लगता है ShellExecute () का उपयोग करते हुए एक नई प्रक्रिया कांटा करने के लिए अत्यधिक है और मुझे इस बारे में पर्याप्त जानकारी नहीं है कि मैं एक फ़ाइल कॉपी करने के लिए इसका उपयोग कर सकता हूं या नहीं। मैं उम्मीद कर रहा हूं कि कोई ऐसा कोड पोस्ट कर सकता है जो फ़ाइल की प्रतिलिपि करने का आदर्श तरीका प्रदान करता है और आदर्श रूप से यह भी समझाता है कि "शेल्ड डेकोरेटर" के साथ मेन्यूइटम को कैसे सजाने है।

नोट:

कई स्टैक ऑवरफ्लो पदों में संदर्भित किया गया है, जैसे कि () अनुमतियों से संबंधित विषयों पर। कोड में केवल एक अलग प्रक्रिया कॉल करने का एक उदाहरण है।

हालांकि यह अभी भी कम से कम शामिल है पुनरारंभ या एक प्रक्रिया को बढ़ाना, आप यहां कुछ मदद पा सकते हैं: CodeProject.com पर


Comments

Popular posts from this blog

c++ - Linux and clipboard -

Visual Studio 2005: How to speed up builds when a VSMDI is open? -

booting ubuntu from usb using virtualbox -