Zum Inhalt springen

vc++6 papierkorb leeren


HELLmut

Empfohlene Beiträge

  • 3 Wochen später...

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 ... ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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]

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...