Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Arbeitsplatz öffnen mit Delphi-App (https://www.delphipraxis.net/63363-arbeitsplatz-oeffnen-mit-delphi-app.html)

turboPASCAL 17. Feb 2006 17:05


Arbeitsplatz öffnen mit Delphi-App
 
Hi,

Ich habe da mal 'ne Frage. ;)

Ich suche eine Möglichkeit den "Arbeitsplatz" mit Shellexecute oder so zu öffnen, so wie wenn mann auf das Symbol klickt. Ich habe schon gesucht aber anscheinen nicht mit den richtigen Begriffen. :gruebel:

MfG.

mOzZzI 17. Feb 2006 17:09

Re: Arbeitsplatz öffnen mit Delphi-App
 
Hi das geht glaub ich so,

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellAPI, StdCtrls, ShlOBJ;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Info: ShellExecuteInfo;
  List: PItemIDList;

begin
  SHGetSpecialFolderLocation(GetActiveWindow, CSIDL_DRIVES, List);

  ZeroMemory(@Info, SizeOf(ShellExecuteInfo));
  Info.cbSize := SizeOf(ShellExecuteInfo);
  Info.lpVerb := 'explore'; //Diese Zeile kannst du auch entfernen, wenn du die TreeView anzeige nicht haben möchtest...
  Info.Wnd := GetActiveWindow;
  Info.fMask := SEE_MASK_IDLIST;
  Info.lpIDList := List;
  Info.nShow := SW_SHOWMAXIMIZED; //auch veränderbar ;-)

  ShellExecuteEx(@Info)
end;

end.
Damit kann man auch EigeneDateien öffnenund mehr...

Gruß Philipp

turboPASCAL 17. Feb 2006 17:23

Re: Arbeitsplatz öffnen mit Delphi-App
 
Ja genau, das habe ich gesucht. Verflixt noch eins, Thx.

So will ich es offnen:
Delphi-Quellcode:
var
  Info: ShellExecuteInfo;
  List: PItemIDList;

begin
  SHGetSpecialFolderLocation(GetActiveWindow, CSIDL_DRIVES, List);

  ZeroMemory(@Info, SizeOf(ShellExecuteInfo));
  Info.cbSize := SizeOf(ShellExecuteInfo);
  Info.lpVerb := 'open'; // <-----<<<
  Info.Wnd := GetActiveWindow;
  Info.fMask := SEE_MASK_IDLIST;
  Info.lpIDList := List;
  Info.nShow := SW_NORMAL;

  ShellExecuteEx(@Info)
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz