Verknüpfungen auf dem Desktop löschen



  • Morgen,

    folgendes: Mein Desktop ist zugemüllt mit tausenden von Verknüpfungen (Schulrechner, eigenes Profil, d.h. die anderen haben bei der Anmeldung ihren e igenen Desktop), alle anderen haben "saubere" Desktops.

    Nach dem der Admin sich da auch nicht drum kümmert und mir das echt auf die Nerven geht, wollte ich fragen ob jemand weiß wie man Verknüpfungen (nur verknüpfungen) entfernt.

    Hab schon bei google.de gesucht, aber nur ein wenig delphi code gefunden, da gibt es eine variable nil dessen Bedeutung ich nicht weiß:

    #include <windows.h>
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	HWND handle = FindWindowEx(FindWindowEx(FindWindow('Progman', nil),0,'SHELLDLL_DefView',nil),0,'SysListView32',nil);
    
    	//	Mit dem Handle werden sie so unsichtbar gemacht:
    	EnableWindow(handle,false);
    	SetWindowPos(handle,HWND_BOTTOM, 0, 0, 1, 1, SWP_HIDEWINDOW);
    
    	int wert;
    	cin>>wert;
    
    	EnableWindow(handle,true);
    
    	return(0);
    }
    

    Kann man damit etwas anfangen / würde mir jemand eben fix so ein Programm schreiben?



  • nil ist NULL in C/C++

    Dein gezeigtes Programm versteckt aber die Verknüpfungen nur, sie sind nach wie vor noch da!

    Ich würde so vorgehen:
    - Pfad zum Desktop ermitteln (SHGetFolderPath mit CSIDL CSIDL_DESKTOP)
    - FindFirstFile/FindNextFile nach "*.lnk"-Dateien
    - bei jeder Datei DeleteFile(...) aufrufen
    - fertich!


Anmelden zum Antworten