AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Anwendung versteckt autostarten

Ein Thema von mr-unbekannt · begonnen am 5. Feb 2006 · letzter Beitrag vom 6. Feb 2006
Antwort Antwort
mr-unbekannt

Registriert seit: 29. Okt 2005
Ort: tirol
104 Beiträge
 
Delphi 7 Personal
 
#1

Anwendung versteckt autostarten

  Alt 5. Feb 2006, 14:50
hello


mein programm startet versteckt mit windows mit, das habe ich geschafft. Ich habe einen HotKey eingebaut, und wenn der aktiviert wird, öffnet sich die Form. Wenn ShowMainForm auf False ist, reagiert der Hotkey nicht...

ich habe den code in der Form1 für den Hotkey:
Delphi-Quellcode:
private
  id1: Integer;
    procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
    { Private-Deklarationen }
  public
     { Public-Deklarationen }
  end;

  
var
  Form1: TForm1;
implementation

{$R *.dfm}

 procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
  if Msg.HotKey = id1 then begin Form1.Show; TrayIcon1.Active := True; end;
end;
und den Beim Project-Quelltext:
Delphi-Quellcode:
var r: Tregistry;
begin

  CreateHook(Application.Handle,true);
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
   R:=TRegistry.Create;
  R.RootKey:=HKEY_LOCAL_MACHINE;
  try
  R.OpenKey('SOFTWARE\Microsoft\APK', true);
  if R.ReadString('hon') = 'Truethen begin Application.ShowMainForm := false;
  Form1.TrayIcon1.Active := False; end;
  finally R.Free end;

  Application.Run;



end.
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Anwendung versteckt autostarten

  Alt 5. Feb 2006, 18:11
Hi,
sag mal registrierst du überhaupt deinen Hotkey korrekt? Das geht hier nicht so wirklich aus deinem Code hervor. Wenn du das nicht machst, ist es wenig verwunderlich, dass du da nichts siehst. Du musst nur im OnCreate einmal die RegisterHotKey Methode aufrufen. So in der Art:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  self.atom := GlobalAddAtom(UNIQUE_IDENTIFIER);
  if not RegisterHotKey(self.Handle, atom, MOD_SHIFT, VK_WHAT_EVER) then
    begin
      // Fehler aufgetreten, müsstest du natürlich behandeln
    end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  GlobalDeleteAtom(self.atom);
end;
Das sollte dann auch funktionieren, wenn das Form nicht angezeigt wird (solange es existiert).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
mr-unbekannt

Registriert seit: 29. Okt 2005
Ort: tirol
104 Beiträge
 
Delphi 7 Personal
 
#3

Re: Anwendung versteckt autostarten

  Alt 6. Feb 2006, 08:11
danke, habs hinbekommen

bye
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:09 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