मैंने this page के नीचे वर्णित कोड के समान IShellLink इंटरफ़ेस का उपयोग कर डेस्कटॉप पर एक शॉर्टकट (.lnk) फ़ाइल बनाई है।क्या डेस्कटॉप से शॉर्टकट निकालने के लिए कोई विशेष विधि है?
तो मेरी धारणा थी कि इस शॉर्टकट को हटाने के लिए मैं .lnk फ़ाइल पर DeleteFile पर कॉल कर सकता हूं, लेकिन स्पष्ट रूप से यह पर्याप्त नहीं है ... अगर मैं ऐसा करता हूं तो मुझे शॉर्टकट फ़ाइल का अवशेष मिलता है जो इस तरह दिखता है:
लेकिन क्या दिलचस्प है कि अगर मैं डेस्कटॉप फ़ोल्डर में फ़ाइलें ब्राउज़ करें, Windows Explorer के साथ कह रहा है, .lnk फ़ाइल वास्तव में वहाँ नहीं है। मैं जो देखता हूं वह डेस्कटॉप जीयूआई सतह पर कुछ आर्टिफैक्ट है।
किसी भी विचार कैसे एक शॉर्टकट को दूर करने के
ठीक है, मुझे लगता है कि मुझे मिल गया। पोस्ट करने से पहले अधिक शोध किया जाना चाहिए, क्षमा करें हर कोई। मैं इसे रखता हूं हालांकि उन लोगों के लिए जो इसमें भाग लेते हैं। आपको .lnk फ़ाइल को हटाने के बाद निम्न को कॉल करने की आवश्यकता है: 'SHChangeNotify (SHCNE_DELETE, SHCNF_PATH | SHCNF_FLUSHNOWAIT, pDeletedFilePath, NULL); ' – c00000fd
कृपया अपनी टिप्पणी को उत्तर के रूप में पोस्ट करें। एफएक्यू के अनुसार, अपने स्वयं के प्रश्नों का उत्तर देने की अनुमति नहीं है, इसे प्रोत्साहित किया जाता है। :-) –
संदर्भ जोड़ने के लिए: यह केवल एक्सप्लोरर को रीफ्रेश करने के लिए है (जो डेस्कटॉप आइकन भी प्रदर्शित करता है)। यह स्वचालित रूप से हो सकता है या खिड़कियों के कुछ कथनों पर थोड़ी देर देरी हो सकती है। शेल एपीआई ShFileOp (जो ओवरकिल दिखाई देता है) के माध्यम से फ़ाइल को हटाते समय, clearrefresh आवश्यक नहीं है। – peterchen