AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm als DesktopHintergrund @ Windows
Thema durchsuchen
Ansicht
Themen-Optionen

Programm als DesktopHintergrund @ Windows

Ein Thema von supermuckl · begonnen am 23. Jun 2004 · letzter Beitrag vom 24. Jun 2004
Antwort Antwort
Seite 2 von 2     12   
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#11

Re: Programm als DesktopHintergrund @ Windows

  Alt 23. Jun 2004, 20:12
jep .. gefunden..
aber das form lässt sich noch bewegen.. allerdings gibts kein refresh wärend dem bewegen.. nur beim loslassen
und ich kann auf einen button wo auf form1 steckt nich klicken ( wird aber angezeigt..)
also so ganz is das wohl nich aufm desktop ?!
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#12

Re: Programm als DesktopHintergrund @ Windows

  Alt 23. Jun 2004, 20:12
Zitat von Nicodius:
getdesktophandle gibt es echt nicht (in welcher unit?)
Stimmt, hab mich eben verschrieben
Der Quelltext, welcher über die Suche zu finden ist, ist korrekt...

edit: ich habe extra auf die Nebenwirkungen hingewiesen... sprich es ist/wäre eine Menge Arbeit, bis es so funktioniert, wie derjenige sich das vorgestellt hat (von Tests auf anderen Systemen mit anderen Windows/Shell-Versionen, anderen Desktop-Einstellungen und mit verschiedenen Delphi/VCL-Versionen mal ganz abgesehen).
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Programm als DesktopHintergrund @ Windows

  Alt 23. Jun 2004, 20:14
hab den code:
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Classes, Controls, Forms, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private declarations }
  public
    { Public declarations }
    procedure CreateParams(var Params: TCreateParams); override;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  // inherited first!
  inherited CreateParams(Params);
  // only for testing purposes...
  if (Params.WndParent = Application.Handle) then
  begin
    // child window of the desktop window
    Params.WndParent := GetDesktopWindow();
    Params.Style := Params.Style or WS_CHILD;
  end;
end;

end.
der button is unklickable
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
NeoXX
(Gast)

n/a Beiträge
 
#14

Re: Programm als DesktopHintergrund @ Windows

  Alt 24. Jun 2004, 02:25
Wie wär's mit folgendem:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, Classes, Controls, Forms, StdCtrls;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure AppMsg(var Msg: TMsg; var Handled: Boolean);
  public
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AppMsg(var Msg: TMsg; var Handled: Boolean);
begin
  SetWindowPos(Self.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnMessage := AppMsg;
end;

end.
...flackert zwar n' bissl wenn Du das Hintergrundfenster anwählst, weil er das Fenster erst nach vor und dann wieder nach hinten setzt, funzt aber - auch mit dem ButtonClick
  Mit Zitat antworten Zitat
supermuckl

Registriert seit: 1. Feb 2003
1.340 Beiträge
 
FreePascal / Lazarus
 
#15

Re: Programm als DesktopHintergrund @ Windows

  Alt 24. Jun 2004, 02:36
gute idee.. blos wie wärs wenn man erst garnicht zulässt das es in den vordergrund kann ? das is doch auch nur eine WM_loskommraus die an das fenster geschickt wird sobald ich es mit der maus anklicke ?!
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!
  Mit Zitat antworten Zitat
NeoXX
(Gast)

n/a Beiträge
 
#16

Re: Programm als DesktopHintergrund @ Windows

  Alt 24. Jun 2004, 23:49
wie wär's damit
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Windows.SetParent(Form1.Handle, FindWindow(Nil, 'Program Manager'));
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:38 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