Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Показать корзину Windows

Delphi , Файловая система , Корзина

Показать корзину Windows

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

uses
   ActiveX, ShlObj, ShellApi;

 procedure FreePidl(pidl: PItemIDList);
 var
    allocator: IMalloc;
 begin
   if Succeeded(shlobj.SHGetMalloc(allocator)) then
    begin
     allocator.Free(pidl);
     {$IFDEF VER90}
     allocator.Release;
     {$ENDIF}
   end;
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 var
   exInfo: TShellExecuteInfo;
 begin
   // initialize all fields to 0 
  FillChar(exInfo, SizeOf(exInfo), 0);
   with exInfo do
   begin
     cbSize := SizeOf(exInfo); // required! 
    fMask := SEE_MASK_FLAG_DDEWAIT or SEE_MASK_IDLIST;
     Wnd := Handle;
     nShow := SW_SHOWNORMAL;
     lpVerb := 'open';
     ShGetSpecialFolderLocation(Handle, CSIDL_BITBUCKET, PItemIDLIst(lpIDList));
   end;
   ShellExecuteEx(@exInfo);
   FreePIDL(exinfo.lpIDList);
 end;

Код, предоставленный в этом примере, написан на языке Object Pascal и использует Windows API для отображения корзинки (также известной как "Bit Bucket") в приложении Delphi.

Вот что каждый часть кода делает:

  1. Процедура FreePidl используется для освобождения памяти, выделенной Windows Shell для списка идентификаторов элементов (pidl). Она проверяет, если shell-выделение прошло успешно, и затем освобождает PIDL с помощью интерфейса IMalloc.
  2. Обработчик события Button1Click вызывается при клике на кнопке на форме. Он инициализирует запись TShellExecuteInfo с требуемыми значениями для функции ShellExecuteEx, которая отображает корзинку в Windows Explorer.

  3. cbSize: Это поле specifies размер записи TShellExecuteInfo в байтах. В этом случае, оно установлено в размер записи TShellExecuteInfo herself (SizeOf(exInfo)).

  4. fMask: Это поле содержит маску, которая specifies какие члены записи TShellExecuteInfo должны быть заполнены данными. Значение - это комбинация двух флагов: SEE_ MASK_ FLAG_ DDEWAIT и SEE_ MASK_ IDLIST.
  5. Wnd: Это поле установлено в handle окна, в котором будет выполняться операция Shell Execute.
  6. nShow: Это поле specifies, как окно должно быть отображено. В этом случае, оно установлено в SW_ SHOWNORMAL, что означает, что окно будет отображаться нормально (т.е., не миниaturized или maximized).
  7. lpVerb: Это поле - указатель на null-terminated строку, которая содержит глагол для выполнения на指定ом файле. В этом случае, оно установлено в 'open'.
  8. ShGetSpecialFolderLocation используется для получения списка идентификаторов элементов для корзины.
  9. Функция ShellExecuteEx вызывается с инициализированной записью TShellExecuteInfo как ее первым аргументом.

В целом, этот код-снippet демонстрирует, как использовать язык Object Pascal Delphi и функции Windows API для взаимодействия с оболочкой и отображения конкретной папки в File Explorer.

Данная статья на языке Delphi предоставляет пример кода для открытия корзины Windows, используя функции ShGetSpecialFolderLocation и ShellExecuteEx.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Корзина ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2024-12-27 00:56:19/0.0032129287719727/0