Masaüstünde, this page'un altında açıklanan kodla benzer IShellLink arabirimini kullanarak bir kısayol (.lnk) dosyası oluşturdum.Masaüstünden kısayolu kaldırmak için özel bir yöntem var mı?
Benim varsayımım, bu kısayolu kaldırmak için .lnk dosyasında DeleteFile'u arayabilirdim, ama yeterli değil ... eğer bunu yaparsam, şuna benzeyen kısayol dosyasının bir kısmını alırım:
Ama ne ilginçtir ben masaüstü klasöründeki dosyaları taramak eğer Windows Explorer ile söylemek yani, .lnk dosya aslında yoktur. Gördüğüm şey, masaüstü GUI yüzeyinde biraz eser.
nasıl bir kısayol kaldırmak için
Tamam, sanırım anladım. Göndermeden önce daha fazla araştırma yapmalıydım, herkese üzgünüm. Yine de ona girenler için tutacağım. .lnk dosyasını sildikten sonra aşağıdakileri çağırmanız gerekir: 'SHChangeNotify (SHCNE_DELETE, SHCNF_PATH | SHCNF_FLUSHNOWAIT, pDeletedFilePath, NULL);' – c00000fd
Lütfen yorumunuzu yanıt olarak gönderin. SSS uyarınca, kendi sorularınızı yanıtlamak sadece izin verilmez, teşvik edilir. :-) –
Bağlam eklemek için: bu sadece gezgini (aynı zamanda masaüstü simgelerini de görüntüler) yenilemek içindir. Pencerelerin bazı kararlarında otomatik olarak veya küçük bir gecikme ile gerçekleşebilir. Dosyayı Shell API ShFileOp (overkill görünür) aracılığıyla silerken, explicitrefresh gerekli değildir. – peterchen