HELLmut Geschrieben 13. Juni 2002 Geschrieben 13. Juni 2002 wie oben schon zu lesen ist, möchte ich mit einer methode bzw. funktion den paierkorb von windows leeren. kann mir da wer nen tip geben, wie ich da drauf komme?
HELLmut Geschrieben 2. Juli 2002 Autor Geschrieben 2. Juli 2002 danke das ist das was ich suche. bin erst jetzt dazu gekommen gekommen, das endlich zu probieren und habe jetzt folgendes Problem: ompiling... Leerer.cpp d:\programme\microsoft visual studio\vc98\include\shellapi.h(53) : error C2065: 'HDROP' : undeclared identifier d:\programme\microsoft visual studio\vc98\include\shellapi.h(53) : error C2501: 'DECLARE_HANDLE' : missing storage-class or type specifiers d:\programme\microsoft visual studio\vc98\include\shellapi.h(55) : error C2146: syntax error : missing ';' before identifier 'UINT' d:\programme\microsoft visual studio\vc98\include\shellapi.h(55) : error C2501: 'DECLSPEC_IMPORT' : missing storage-class or type specifiers d:\programme\microsoft visual studio\vc98\include\shellapi.h(55) : fatal error C1004: unexpected end of file found Error executing cl.exe. die shell32.lib habe ich auch, also weiß ich nicht was das jetzt soll ... ?
HELLmut Geschrieben 2. Juli 2002 Autor Geschrieben 2. Juli 2002 das war ein treffer würde ich sagen - kompiliert jetzt, beim ausführen kommt dann dafür: Der Prozedureinstiegspunkt "SHEmptyRecycleBinA" konnte in der Dynamic Link Library "SHELL32.dll" nicht gefunden werden.
Klotzkopp Geschrieben 2. Juli 2002 Geschrieben 2. Juli 2002 Welcher Version hat Deine Shell32.dll? Für SHEmptyRecycleBin brauchst Du 4.71 (IE 4).
HELLmut Geschrieben 2. Juli 2002 Autor Geschrieben 2. Juli 2002 habe zwar ie6 aber trotzdem version 4.0 ... leigt vielleicht dran das es nt4 is? jedenfalls kopier ich mal ne neuere shell32 rein, falls ich dann noch starten kann, bis gleich...
HELLmut Geschrieben 2. Juli 2002 Autor Geschrieben 2. Juli 2002 also das wars wohl nicht, die 4.72 version von 98 zu nehmen *g* rechner startete nicht mehr...
Klotzkopp Geschrieben 2. Juli 2002 Geschrieben 2. Juli 2002 Der IE4 aktualisiert wohl die Shell nur, wenn man das bei der Installation ausdrücklich angibt, der IE5 macht es gar nicht. Was der IE6 macht, habe ich nicht herausfinden können. Womöglich gibt es da eine Installationsoption. Jedenfalls kann es bei Windows 95 und NT 4 passieren, dass man trotz aktueller IE-Version noch die Version 4.0 der Shell32.dll hat. Weitere Info: http://msdn.microsoft.com/library/en-us/shellcc/platform/shell/programmersguide/versions.asp
HELLmut Geschrieben 4. Juli 2002 Autor Geschrieben 4. Juli 2002 ok, ich wollte das jetzt so lösen, indem erst die version abfrage: CLeerer::Leeren() { if(GetDllVersion(TEXT("shell32.dll")) >= PACKVERSION(4,71)) { SHEmptyRecycleBin(NULL,NULL,SHERB_NOPROGRESSUI); } else { //Use an alternate approach for older DLL versions. } return 1; } nun ändert das aber nichts. sobald das SHEmpty... nicht auskommentiert ist, kommt diese meldung und zwar bevor das programm irgendwas macht. desshalb bringt mir die abfrage auch nichts - hat wer nen tip?
Klotzkopp Geschrieben 4. Juli 2002 Geschrieben 4. Juli 2002 Kann sein, dass das Programm bereits beim Laden der DLL versucht, die Einsprungpunkte aller referenzierten Funktionen zu finden. Versuch mal, die Methode bei erfolgreicher Versionsprüfung dynamisch zu laden: typedef HRESULT (CALLBACK *EMPTYRECYCLEBINPROC)( HWND, LPCTSTR, DWORD ); HINSTANCE hShell32Instance = LoadLibrary( TEXT("shell32.dll" ) ); if( hShell32Instance ) { EMPTYRECYCLEBINPROC pERB; pERB = (EMPTYRECYCLEBINPROC) GetProcAddress( hShell32Instance, "SHEmptyRecycleBinA"); if( pERB ) (*pERB)(NULL,NULL,SHERB_NOPROGRESSUI); FreeLibrary( hShell32Instance ); }[/CODE]
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden