मैं पिड द्वारा प्रक्रिया पथ प्राप्त करने का प्रयास कर रहा हूं लेकिन मुझे Win32Exception (एक्सेस आईडी अस्वीकार कर रहा है) मिल रहा है।प्रक्रिया पथ प्राप्त करते समय एक्सेस अस्वीकार
कोड इस तरह दिखता है:
string path = Process.GetProcessById(pid).MainModule.FileName
मैं GetModuleFileNameEx साथ OpenProcess उपयोग करने की कोशिश की है, लेकिन OpenProcess 0. मैं भी C# – How to enable SeDebugPrivilege के अनुसार SeDebugPrivilege को सक्षम करने की कोशिश की लौटा रहा है, लेकिन यह मदद नहीं की।
उपर्युक्त कोड अधिकांश प्रक्रियाओं के लिए काम करता है लेकिन SynTPHelper.exe (सिनैप्टिक्स पॉइंटिंग डिवाइस हेल्पर) के लिए त्रुटि फेंकता है एप्लिकेशन मेरे कोड के समान उपयोगकर्ता नाम के तहत चल रहा है। दोनों, मेरा आवेदन और प्रक्रिया 64 बिट में चल रही है।
क्या पथ बिना किसी व्यवस्थापक के रूप में अपना आवेदन चलाने के लिए संभव है?
संपादित
कार्य प्रबंधक भले ही मैं इसे एक प्रशासक के रूप में नहीं चल रहा हूँ 'फ़ाइल खोलने स्थान' करने में सक्षम है।
http://www.aboutmycode.com/net-framework/how-to-get-elevated-process-path-in-net/ (जो वही जियोर्गी है?) के लिए बहुत धन्यवाद। सरल प्रतिलिपि/अतीत/सुधार/कुछ नामस्थान जोड़ें और यह काम करता है !!! :) –
@ एंड्रियास: हाँ, यह सिर्फ मेरा ब्लॉग है। – Giorgi
PROCESS_QUERY_LIMITED_INFORMATION = 0x1000; http://msdn.microsoft.com/en-us/library/windows/desktop/ms684880(v=vs.85).aspx – Jason