Zugriff auf Windows: Papierkorb leeren
-
TheGeek schrieb:
NEBENBEI:
Kann man eigentlich bei jeder boolischen if verzweigung das "== true" weglassen ?hab ich doch geschrieben. ja kann man.
[edit]
mach malHRESULT Successwenn immernoch die warnung kommt dann lebe mit der warnung

-
TheGeek schrieb:
mhh hatt sich leider nix verändert Success fehler kommt weiterhin ...
Wir hatten doch schon auf Seite 1 festgestellt, das ab Windows 2000 nicht NULL als erster Parameter angegeben werden darf...

-
mhhh !?! Das muss doch irgentwie gehen ???
Aber find es super cool das man hier im forum solch tolle hilfen bekommt !

Warum gibbet eigenlich ne Microsoft Site die einem weiter helfen kann ???
Das was ich bis jetzt so gesehen habe, habe ich noch nicht so ganz verstanden
... habt ihr schon mal geschaut ?...
-
Na gib halt nen Pfad als ersten Parameter an, genau wie auf "der Microsoft Hilfeseite" (das ist die MSDN) beschrieben ist...
Success = SHQueryRecycleBin("C:\\", &info);
-
nope ! Geht auch net !

-
Könntest du evtl. mal etwas ausführlicher sagen, was du jetzt hast, wie dabei dein Ergebnis (fälschlicherweise?) aussieht und was du dir als Ergebnis wünscht?!
Denn aus deinen bisherigen Aussagen wurde ich nicht so recht schlau, was eigentlich überhaupt nicht funktioniert
-
Sorry Leuts konnte net Posten weil ich so viel um die Ohren hatte

Also ich führe folgenden Code aus:
//--------------------------------------------------------------------------- bool CanEmptyRecycleBin() { HRESULT Success = SHQueryRecycleBin(0, &info); SHQUERYRBINFO info; // SHQUERYRBINFO die Variable info zuweisen ZeroMemory(&info, sizeof(info)); // ? Speicher auf null setzen ? info.cbSize = sizeof(info); // info und DWORD cbSize verknüpfen Success = SHQueryRecycleBin("C:\\", &info); // SHQueryRecycleBin aufrufen if (Success != S_OK) { MessageBox(NULL, "Fehler bei SHQueryRecycleBin", "Fehler!", MB_OK|MB_ICONERROR); return FALSE; } return (info.i64NumItems > 0); // zurück wenn info.i64NumItems grösser als 0 } //--------------------------------------------------------------------------- void __fastcall TForm1::Label3Click(TObject *Sender) { if(CanEmptyRecycleBin()) { MessageBox(NULL, "Papierkorb kann geleert werden", "info", MB_OK); // .. } else MessageBox(NULL, "Papierkorb schon leer", "info", MB_OK); } //---------------------------------------------------------------------------und als Ergebnis wünsch ich mir das ich rausbekomme ob der Papierkorb voll oder leer ist ...
-
Abgesehen von einem kleinen Fehler funktioniert dein Code bei mir (W2K)

Du musst info erst deklarieren und dann verwenden, nicht andersrum

Also diese Zeile muss eins weiter nach oben:SHQUERYRBINFO info; // SHQUERYRBINFO die Variable info zuweisenWobei dein Kommentar nicht so sehr Sinn macht bzw. flasch ist - SHQUERYRBINFO ist der Typ der Variable info, die du deklarierst.
-
Naja der Code funzt aber leder gibt er net das richtige zurück bei mir kommt immer nur die MessageBox "Papierkorb schon leer" egal ob er voll oder leer ist ... bei dir auch Flenders ?
-
Nein, wenn ich bei mir von Laufwerk C etwas lösche kommt, dass der Papierkorb gelöscht werden kann
