AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Papierkorb identifizieren.

Ein Thema von EWeiss · begonnen am 7. Mai 2017 · letzter Beitrag vom 13. Mai 2017
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

Papierkorb identifizieren.

  Alt 7. Mai 2017, 18:22
Hat jemand Informationen welche API ich verwenden könnte um den aktuellen Status des Papierkorb zu erfahren?
Also ob er leer oder voll ist.

Ich verwende TSHQueryRBInfo
Das Problem dabei ist das es zu CPU lastig ist.

gruss
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Papierkorb identifizieren.

  Alt 7. Mai 2017, 18:38
Ist eventuell dashier hilfreich?
http://www.delphitricks.com/source-c..._is_empty.html
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Papierkorb identifizieren.

  Alt 7. Mai 2017, 18:49
Oh Danke
Werde es mal testen ob es weniger CPU lastig ist.

Ich benötige es hier für

gruss

Geändert von EWeiss (11. Jul 2019 um 16:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von markus5766h
markus5766h

Registriert seit: 5. Mär 2009
Ort: Hamburg
569 Beiträge
 
Delphi XE8 Professional
 
#4

AW: Papierkorb identifizieren.

  Alt 13. Mai 2017, 12:48
... oder das hier, zeigt dann die Anzahl der Dateien im Papierkorb . . .

Delphi-Quellcode:
unit uMain;

interface

uses
  Windows, Messages, SysUtils, Forms, ActiveX,
  Buttons, ComObj, ShlObj, Dialogs, StdCtrls, StrUtils, ExtCtrls,
  ComCtrls, Controls, Classes;

type
  TfrmMain = class(TForm)
    btnShowNumOfTrashFiles: TButton;
    procedure btnShowNumOfTrashFilesClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;

implementation

{$R *.dfm}

type
  PPIDLItem = ^TPIDLItem;
  TPIDLItem = Record
                Dateiname : String;
                IDL : PItemIDList;
              end;

function NumTrashFiles : Integer;
var
  DeskDirI, RecycleI: IShellFolder;
  pReIDL, pNextIDL: PItemIDList;
  EnumList: IENUMIDLIST;
  IsThere: Cardinal;
  StrRet: TStrRet;
  parName: String;
  PPIDL:PPIDLItem;
begin
  OleCheck(SHGetDesktopFolder(DeskDirI));
  OleCheck(SHGetSpecialFolderLocation(Application.Handle, CSIDL_BITBUCKET, pReIDL));
  OleCheck(DeskDirI.BindToObject(pReIDL, nil, IShellFolder, RecycleI));
  CoTaskMemFree(pReIDL);
  OleCheck(RecycleI.EnumObjects(Application.Handle,
           SHCONTF_FOLDERS or SHCONTF_NONFOLDERS
           or SHCONTF_INCLUDEHIDDEN, EnumList));
  Result := 0;
  while EnumList.Next(1, pNextIDL, IsThere) = S_OK do Inc(Result, 1);
end;


procedure TfrmMain.btnShowNumOfTrashFilesClick(Sender: TObject);
begin
  ShowMessage(IntToStr(NumTrashFiles));
end;

end.
Markus H.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Papierkorb identifizieren.

  Alt 13. Mai 2017, 12:52
Danke für die Infos.
Ich habe den Part schon abgeschlossen.
Aber bestimmt noch interessant für andere.

gruss.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz