Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Desktop symbole ein/ausblenden (https://www.delphipraxis.net/135822-desktop-symbole-ein-ausblenden.html)

vip11 18. Jun 2009 13:37


Desktop symbole ein/ausblenden
 
hi
ich hab mal ne frage: wie kann ich die funktion "desktop symbole anzeigen" mit delphi auslösen?
hotkey hab ich bereits jetzt müsst ihc nur noch wissen wie man die funktion benutzten kann(vista).

mfg vip11

0xF48CBFF 18. Jun 2009 14:43

Re: Desktop symbole ein/ausblenden
 
Hallo vip11,

hier ein Beispiel, wie man die Icons auf dem Dektop anzeigen und verstecken kann:
Delphi-Quellcode:
ShowWindow(FindWindow(nil, 'Program Manager'), SW_SHOW);
ShowWindow(FindWindow(nil, 'Program Manager'), SW_HIDE);
Es funktioniert unter Windows XP einwandfrei.

0xF4CBFF

vip11 18. Jun 2009 15:40

Re: Desktop symbole ein/ausblenden
 
thx klappt
jetzt hab ich des problem das mein programm die hotkeys nimmer nimmt :(
was hab ich falsch gemacht?
Code:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    id3: Integer;
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
  public
    { Public declarations }
  end;

var
  x : integer;
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = id3 then
    button1.Click;
end;

procedure TForm1.FormCreate(Sender: TObject);
const
  VK_F4 = $73;
begin
x := 0;
  id3 := GlobalAddAtom('Hotkey3');
  RegisterHotKey(Handle, id3, 0, VK_F4);

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  UnRegisterHotKey(Handle, id3);
  GlobalDeleteAtom(id3);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if x = 0 then begin
      x:= 1;
ShowWindow(FindWindow(nil, 'Program Manager'), SW_SHOW);
end else if x= 1 then begin
x:= 0;
ShowWindow(FindWindow(nil, 'Program Manager'), SW_HIDE);
end;
end;

end.

0xF48CBFF 18. Jun 2009 16:15

Re: Desktop symbole ein/ausblenden
 
Hallo vip11,

ich sehe in deinem Code keinen Fehler. Habe es sogar getestet und es funktioniert ohne Fehler.

0x48CBFF

vip11 18. Jun 2009 16:16

Re: Desktop symbole ein/ausblenden
 
hm bei mir klappts nicht (bei ner alten datei die auch so gemacht wurde schon)
könnte des nen problem mit dem pc sein?

0xF48CBFF 18. Jun 2009 16:22

Re: Desktop symbole ein/ausblenden
 
Hallo vip11,

sicher, dass du die F4-Taste drückst? :D

0xF48CBFF

vip11 18. Jun 2009 18:32

Re: Desktop symbole ein/ausblenden
 
ja^^ wie gesagt hab ja schon nen anderes Programm mit F4 gemacht und des geht (hab leider nur noch die exe selbst)
dies hab ich damals damit gemacht: http://www.swissdelphicenter.ch/de/showcode.php?id=147
des geht auch bei mir nicht mehr. kann man irgendwie überprüfen ob delphi fehler hat?

oder irgendwer mal erstellen und die exe hochlade damit ich prüfen kann obs an meinem delphi liegt

vip11 20. Jun 2009 17:54

Re: Desktop symbole ein/ausblenden
 
/push

vip11 21. Jun 2009 22:48

Re: Desktop symbole ein/ausblenden
 
/push

toms 22. Jun 2009 05:36

Re: Desktop symbole ein/ausblenden
 
Wird F4 evtl durch ein anderes Programm belegt?
Wird WMHotKey und dann button1.Click ausgeführt?

vip11 23. Jun 2009 19:59

Re: Desktop symbole ein/ausblenden
 
hm anderes programm kann schlecht sein da es ja mit der oben genannten alten datei funktioniert. Ob WMHotKey ausgeführt würd weiß ich nicht, ich vermute nicht da es ja keine wirkung zeigt ergo auch nicht button1.klick. Aber per button dirket funkioniert es ja. Kann jemand pls den quelltext nehmen, eine exe draus erstellen und hochlanden?

mfg vip11

toms 23. Jun 2009 20:23

Re: Desktop symbole ein/ausblenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
Siehe Anhang

vip11 25. Jun 2009 17:24

Re: Desktop symbole ein/ausblenden
 
hm wie ich mir gedacht hab: bei der hochgeladenen datein funktionierts. Vlt sollte ich delphi mal neu installieren. oder ne andere idee?

mfg vip11

edit: wenn ich die exe in dem ordner von toms lösche und dan debugge geht es auch Oo. Ist da ein fehler im quelltext bei mir?

toms 25. Jun 2009 19:37

Re: Desktop symbole ein/ausblenden
 
Zitat:

Zitat von vip11
edit: wenn ich die exe in dem ordner von toms lösche und dan debugge geht es auch Oo. Ist da ein fehler im quelltext bei mir?

Kein Fehler. Vielleicht wird OnCreate etc. nicht ausgeführt/nicht verknüpft. Lade doch mal dein Project hoch.

vip11 25. Jun 2009 21:03

Re: Desktop symbole ein/ausblenden
 
Liste der Anhänge anzeigen (Anzahl: 1)
ok im anhang

toms 25. Jun 2009 21:13

Re: Desktop symbole ein/ausblenden
 
Im OI-Ereignisse musst du schon dem OnCreate das FormCreate Ereignis zuweisen etc.

vip11 26. Jun 2009 10:51

Re: Desktop symbole ein/ausblenden
 
thx hab neu erstellt, alles zugewiesen und es klappt :)

vielen, vielen dank an alle

vip11


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