AGB  ·  Datenschutz  ·  Impressum  







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

Send to tray

Ein Thema von __patrik · begonnen am 17. Jul 2003 · letzter Beitrag vom 18. Jul 2003
 
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Send to tray

  Alt 17. Jul 2003, 14:01
Lass mal ein Leerzeichen zwischen Dateinamen und Parameter. Und du solltest "RunName" in doppelte Anführungszeichen setzen; für den Fall, dass es sich um einen langen Dateinamen handelt, bzw. dass der Ordner (in dem das Programm steckt) Leerzeichen usw. enthält:
RunName := '"' + RunName + '" /autorun'; Dann sollte es gehen.

Dann hätte ich die Frage, ob diese Anweisung
RootKey := HKEY_LOCAL_MACHINE; Absicht ist. Bitte nicht falsch verstehen, das ist nicht böse gemeint. Nachdem man mir aber neulich sprachliche Ausraster vorwarf, frage ich lieber nach. Falls du mit einem NT-Betriebssystem arbeitest (NT, 2000, XP) kann es bei HKLM Probleme geben, wenn der Anwender (der dein Programm nutzt) keine ausreichenden Rechte (Admin) hat. Wenn du aber sagst, dass das okay ist, weil dein Programm zwingend mit Admin-Rechten gestartet werden muss bzw. unbedingt auf HKLM zugreifen muss, dann habe ich nichts gesagt. Ansonsten solltest du besser aufRootKey := HKEY_CURRENT_USER; ausweichen. Das erfüllt auch seinen Zweck.

Hm, eins noch. Ich kann mich irren, aber das hier
Delphi-Quellcode:
if(paramstr(1) = '/autorun') then
  Application.ShowMainForm := False;
könnte evtl. noch zum Problem werden. Deine Bedingung war ja, dass das Programm in der TNA verschwindet, wenn es mit dem Parameter gestartet wird. Wird es dagegen normal angeklickt, dann soll es sichtbar bleiben.

Ich hab´s in meinem Posting nur angedeutet, weil ich den ganzen Code aus Luckies Demo nicht schreiben wollte. Aber nur für den Fall, dass du das missverstanden hast - ich dachte das so:
Delphi-Quellcode:
if(paramstr(1) = '/autorun') then begin
  Application.ShowMainForm := False;
  IconData.cbSize := SizeOf(IconData);
  IconData.Wnd := Handle;
  IconData.uID := 100;
  IconData.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP;
  IconData.uCallBackMessage := WM_USER + 20;
  IconData.hIcon := Application.Icon.Handle;
  IconData.szTip := 'SysInfo';
  Shell_NotifyIcon(NIM_ADD, @IconData);
end;
Bei deinem Code oben passiert folgendes: Wird das Programm über den Autostart aktiv, scheint alles zu funktionieren. Klickt man es jedoch an, ist es zwar sichtbar, aber es wird auch das TNA-Icon angelegt. Ich weiß nicht, ob du das willst.

Gruß.
  Mit Zitat antworten Zitat
 


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