2012-02-08 19 views
5

सी # का उपयोग करके, मैं उपयोगकर्ता के डेस्कटॉप से ​​शॉर्टकट कैसे हटा सकता हूं?उपयोगकर्ता के डेस्कटॉप से ​​शॉर्टकट को प्रोग्रामेटिक रूप से कैसे हटाएं?

कोई सफलता के साथ इस की कोशिश की:

string WinUser = WindowsIdentity.GetCurrent().Name; 
WinUser = WinUser.Substring(WinUser.LastIndexOf("\\") + 1); 

File.Delete("C:\\Users\\" + WinUser + "\\Desktop\\Touch Data.lnk"); 

मैं क्या याद आ रही है? इस पर कोई सलाह की सराहना करें!

उत्तर

11

निम्नलिखित का प्रयास करें:

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
File.Delete(Path.Combine(desktopPath, "Touch Data.lnk")); 
3

मैं इस सवाल मैंने पूछा में इस मुद्दे था:

Why does FolderBrowserDialog not allow the desktop as SelectedPath when RootFolder is MyComputer?

जवाब मुझे मिल गया यह किया गया था:

जाहिर है, 7 विन में डेस्कटॉप वास्तव में मौजूद नहीं है पथ

ग: \ Users \ उपयोगकर्ता नाम \ डेस्कटॉप

प्रणाली यह दिखावा कमांड प्रॉम्प्ट पर और विंडोज एक्सप्लोरर में करता है। लेकिन चूंकि यह वहां नहीं है, इसलिए के लिए चयनित पाथ का हिस्सा रूटफॉल्डर के तहत होने का मार्ग में पथ को सेट करने की अनुमति देता है।

यह संभव है कि यह मुद्दा है। वास्तविक डेस्कटॉप पर हैंडल प्राप्त करने के लिए आपको पर्यावरण। गेटफोल्डर पैथ फ़ंक्शन का उपयोग करना चाहिए। :)

0
System.IO.File.Delete("C:/Users/Public/Desktop/Game.lnk"); 

:)) Win7 standart उपयोगकर्ता नाम सार्वजनिक

0

मैं एक ही परिदृश्य में जहाँ मैं अगर शॉर्टकट मौजूद है की जाँच करें और फिर उसे हटाने के था । मैंने निम्नलिखित कोड

string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); 
if(System.IO.File.Exists(Path.Combine(desktopPath , "shortcut.lnk"))) 
{ 
System.IO.File.Delete(Path.Combine(desktopPath , "shortcut.lnk")); 
} 
का उपयोग किया