2009-07-23 11 views
13

क्या हैं सबसे अच्छा सी # (कोई तिथि नहीं) निम्नलिखित वीबी के लिए समकक्ष (VB.NET, VisualBasic) बयान:Convert वीबी - My.Application.Info.DirectoryPath

My.Application.Info.DirectoryPath 

My.Computer.Clipboard 

My.Computer.Audio.PlaySystemSound() 

My.Application.Shutdown() 

उत्तर

21

Application.ExecutablePath

System.Windows.Forms.Clipboard

System.Media। *

Application.Exit

+2

ये विंडोज़ फॉर्म ऐप –

2

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

+0

अच्छा शॉर्टकट, लेकिन हाँ, मैं सार्वभौमिक विकल्पों की तलाश में था। मुझे यकीन है कि यह किसी की मदद करेगा हालांकि। –

3

आप एक WPF आवेदन परिवर्तित कर रहे हैं, तो आप उपयोग कर सकते हैं निम्नलिखित:

System.Reflection.Assembly.GetExecutingAssembly().Location; 
//gets file path with file name 

System.Windows.Clipboard; 

System.Media.SystemSounds.[Sound].Play(); 

System.Windows.Application.Current.Shutdown(); 
0

मुझे लगता है कि आप समुद्र

Application.StartupPath; 
//Get file path without file name. 
3
My.Application.Info.DirectoryPath 
    AppDomain.CurrentDomain.BaseDirectory 

My.Computer.Clipboard 
    System.Windows.Clipboard //(WPF) 
    System.Windows.Forms.Clipboard //(WinForms) 

My.Computer.Audio.PlaySystemSound() 
    System.Media.SystemSounds.*.Play() 

My.Application.Shutdown() 
    System.Windows.Forms.Application.Exit() //(WinForms) 
    or 
    System.Windows.Application.Current.Shutdown() //(WPF) 
    or 
    System.Environment.Exit(ExitCode) //(Both WinForms & WPF) 
+0

के लिए शायद सही हैं ये My.Aplication.Info.DirectoryPath AppDomain.CurrentDomain.BaseDirectory ने मेरे लिए अलग-अलग उत्तर दिए। सही उत्तर GetFilePath (System.Reflection.Assembly.GetExecutingAssembly.Location) – user2728841

2

decompiling Microsoft.VisualBasic.dll, वास्तविक कोड जब My.Application.Info.DirectoryPath बुला निष्पादित हो जाता है कि से है:

Path.GetDirectoryName(
    new AssemblyInfo(
     Assembly.GetEntryAssembly() ?? Assembly.GetCallingAssembly()).Location); 
1
System.IO.Directory.GetParent(Application.ExecutablePath) 

बिल्कुल के रूप में एक ही है आरसीएच इस वाक्य है:

My.Application.Info.DirectoryPath 

यदि आप केवल करें:

Application.ExecutablePath 

आपको पथ में संलग्न निष्पादन फ़ाइल मिल जाएगी, जो कि उपयोगी नहीं हो सकती है।

+0

[Scuzzlebutt] (http://stackoverflow.com/a/36102900/1677912) के अनुसार, यह सही नहीं है। GetParent विधि एक DirectoryInfo ऑब्जेक्ट देता है, पथ (स्ट्रिंग) नहीं। वास्तव में पथ प्राप्त करने के लिए आपको पूर्ण नाम संपत्ति का उपयोग करने की आवश्यकता है। 'System.IO.Directory.GetParent (Application.ExecutablePath) 'के बजाय,' System.IO.Directory.GetParent (Application.ExecutablePath) का उपयोग करें। FullName'। – Mogsdad