Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Desktop machen (https://www.delphipraxis.net/47606-desktop-machen.html)

LkZ 13. Jun 2005 20:19


Desktop machen
 
Hi Leute, ich wollt ma ein Desktop selber herstellen.

erstmal wollt ich meine funktionen zeigen, die ich gefunden hab

Delphi-Quellcode:
procedure CreateBtn(Sender:TObject);
begin
CreateDesktop('meinDesktop',nil,nil,DF_ALLOWOTHERACCOUNTHOOK,GENERIC_ALL,nil);
end;

procedure OpenAndExecuteBtn(Sender:TObject);
begin
OpenDesktop('meinDesktop',DF_ALLOWOTHERACCOUNTHOOK,True,GENERIC_ALL);
SwitchDesktop(GENERIC_EXECUTE);
end;
ich habs ausprobiert, aber es geht irgentwie nicht, ich hab auch die tutorials bei der MSDN library gelesen. ich frag mich was ich falsch gemacht hab. Der Desktop soll einige funktionen haben, z.B. soll es ein MainMenu haben (wie bei MAC OS). hat jemand bock mir das zu machen?

danke

Ultimator 13. Jun 2005 20:25

Re: Desktop machen
 
Hast du schon Luckies Beitrag in der Codelibrary gesehen, um einen neuen Desktop zu erzeugen und ne Messagebox anzuzeigen?

Luckie 13. Jun 2005 23:09

Re: Desktop machen
 
Delphi-Quellcode:
 {
  Author : Michael Puff - [url]http://developer.luckie-online.de[/url]
  Date   : 2005-01-08
  License : PUBLIC DOMAIN
}
program SwitchDesktop;

{$APPTYPE CONSOLE}

uses
  Windows;

procedure BaitAndSwitchDesktop;
var
  OldDesk     : HDESK;
  NewDesk     : HDESK;
begin
  OldDesk := GetThreadDesktop(GetCurrentThreadID);
  NewDesk := CreateDesktop(PChar('Foobar'), nil, nil, 0, DESKTOP_CREATEWINDOW or
    DESKTOP_SWITCHDESKTOP or DESKTOP_CREATEMENU, nil);
  if NewDesk <> 0 then
  begin
    SetThreadDesktop(NewDesk);
    Windows.SwitchDesktop(NewDesk);
    MessageBox(0, 'Here I am', 'Foobar Desktop', MB_ICONINFORMATION);
    Windows.SwitchDesktop(OldDesk);
    SetThreadDesktop(OldDesk);
    CloseDesktop(NewDesk);
  end;
  CloseDesktop(OldDesk);
end;

begin
  BaitAndSwitchDesktop;
end.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:06 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