Announcement

Collapse
No announcement yet.

TBNA und Service unter Win9x

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TBNA und Service unter Win9x

    Hallo,

    Habe das Forum schon nach TBNA durchsucht!
    Habe aber keine Lösung für mein Problem gefunden.

    Habe ein Programm das des ich als Win9x Dienst bei hochfahren starte.
    (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Cur rentVersion\RunServices)
    Aber wenn ich dieses tue, ist kein Symbol in der TBNA (neben der Uhr).
    Wenn ich es unter "\Run" starte dann habe ich ein Symbol.
    Und bei Manuellen Start auch.

    Was mache ich Falsch?

  • #2
    Das Problem ist, das Dein Programm, wenn es durch einen Eintrag unter \RunServices gestartet wurde - VOR der Shell gestartet wird.<br>
    Somit schlägt Dein Versuch mit Shell_NotifyIcon ein Icon in der TNA zu registrieren fehl, da die TNA-Verwaltung noch nicht gestartet wurde.

    Gruß Nic

    Comment


    • #3
      Danke habe das Problem so gelöst:

      lasse das ganze über eine Timer laufen der sich selbst ausschaltet
      nach installation des Icon.

      procedure Tmain.Timer5Timer(Sender: TObject);
      var hh : hwnd;
      aNID : TNotifyIconData;
      begin
      hh:=FindWindow('Shell_TrayWnd', nil);
      if hh <> 0 then begin
      //Icon in TBNA
      with aNID do begin
      cbSize:= SizeOf(TNotifyIconData);
      Wnd:= Handle;
      uID:= cTaskBarId;
      uFlags:= NIF_MESSAGE or NIF_ICON or NIF_TIP;
      uCallBackMessage:= PM_TaskBar;
      hIcon:= LoadImage(hInstance, PChar('RUN'), IMAGE_ICON, 32, 32, 0);
      szTip:= 'Run';
      end;
      Shell_NotifyIcon(NIM_ADD, @aNID);
      Timer5.Enabled:=False;
      end;
      end

      Comment


      • #4
        Hi

        Normalerweiser müsste die Shell alle Service von ihrem Start informieren, z.B. wm_SettingChange o.s.

        Gruß Hage

        Comment

        Working...
        X