WPF एप्लिकेशन में, जब कोई उपयोगकर्ता एक बटन पर क्लिक करता है तो मैं एक निश्चित निर्देशिका में विंडोज एक्सप्लोरर को खोलना चाहता हूं, मैं यह कैसे करूं?
मैं कुछ इस तरह की उम्मीद करूंगा:
Windows.OpenExplorer("c:\test");
WPF एप्लिकेशन में, जब कोई उपयोगकर्ता एक बटन पर क्लिक करता है तो मैं एक निश्चित निर्देशिका में विंडोज एक्सप्लोरर को खोलना चाहता हूं, मैं यह कैसे करूं?
मैं कुछ इस तरह की उम्मीद करूंगा:
Windows.OpenExplorer("c:\test");
जवाबों:
क्यों नहीं Process.Start(@"c:\test");
?
Start(dir)
और Start("explorer.exe", dir)
है कि पूर्व मौजूदा खिड़की ध्यान केंद्रित करने की स्मार्ट पर्याप्त होगी के लिए है dir
अगर वहाँ एक है, जबकि बाद एक नई विंडो हर बार खुल जाता है।
यह काम करना चाहिए:
Process.Start(@"<directory goes here>")
या यदि आप प्रोग्राम / खुली फ़ाइलें और / या फ़ोल्डर चलाने के लिए एक विधि चाहते हैं:
private void StartProcess(string path)
{
ProcessStartInfo StartInformation = new ProcessStartInfo();
StartInformation.FileName = path;
Process process = Process.Start(StartInformation);
process.EnableRaisingEvents = true;
}
और फिर विधि को बुलाओ और कोष्ठक में या तो फ़ाइल और / या फ़ोल्डर की निर्देशिका या आवेदन का नाम डाल दिया। उम्मीद है कि इस मदद की!
आप उपयोग कर सकते हैं System.Diagnostics.Process.Start
।
या WinApi को सीधे निम्नलिखित की तरह कुछ के साथ उपयोग करें, जो explorer.exe लॉन्च करेगा। इसे आरंभिक निर्देशिका देने के लिए आप ShellExecute के चौथे पैरामीटर का उपयोग कर सकते हैं।
public partial class Window1 : Window
{
public Window1()
{
ShellExecute(IntPtr.Zero, "open", "explorer.exe", "", "", ShowCommands.SW_NORMAL);
InitializeComponent();
}
public enum ShowCommands : int
{
SW_HIDE = 0,
SW_SHOWNORMAL = 1,
SW_NORMAL = 1,
SW_SHOWMINIMIZED = 2,
SW_SHOWMAXIMIZED = 3,
SW_MAXIMIZE = 3,
SW_SHOWNOACTIVATE = 4,
SW_SHOW = 5,
SW_MINIMIZE = 6,
SW_SHOWMINNOACTIVE = 7,
SW_SHOWNA = 8,
SW_RESTORE = 9,
SW_SHOWDEFAULT = 10,
SW_FORCEMINIMIZE = 11,
SW_MAX = 11
}
[DllImport("shell32.dll")]
static extern IntPtr ShellExecute(
IntPtr hwnd,
string lpOperation,
string lpFile,
string lpParameters,
string lpDirectory,
ShowCommands nShowCmd);
}
घोषणाएँ pinvoke.net वेबसाइट से आती हैं ।
Process.Start("explorer.exe" , @"C:\Users");
मुझे इसका उपयोग करना था, टीजीटी डायर को निर्दिष्ट करने का दूसरा तरीका मेरे आवेदन के समाप्त होने पर एक्सप्लोरर विंडो को बंद कर देगा।
Access denied
अपवाद नहीं मिला ।
Process.Start("calc.exe");
कैलकुलेटर चलाएगा। आप इसे एक निष्पादन योग्य के लिए पूरा रास्ता दे सकते हैं और इसे चलाएंगे।