AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Wie (von wo?) wurde ein Programm gestartet?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie (von wo?) wurde ein Programm gestartet?

Ein Thema von gbl · begonnen am 8. Aug 2005 · letzter Beitrag vom 8. Aug 2005
Antwort Antwort
Olli
(Gast)

n/a Beiträge
 
#1

Re: Wie (von wo?) wurde ein Programm gestartet?

  Alt 8. Aug 2005, 12:39
Da habe ich doch mal was geschrieben. Guckst du hier:
Delphi-Quellcode:
if IsLocalSystem then
    begin
// SECOND INSTANCE
// Under SYSTEM try to run as a service. This will fail if the app was not
// installed as a service, yet
      ste[0].lpServiceName := pszServiceName;
      ste[0].lpServiceProc := @ServiceMainA;
      ste[1].lpServiceName := nil;
      ste[1].lpServiceProc := nil;
// hand over control to SCM
      StartServiceCtrlDispatcher(ste[0]);
    end
    else
    begin
    // ...
    end;
Download unter (was du brauchst ist der Source von CMDasSYS):
http://assarbad.net/stuff/localsystem.zip / http://assarbad.net/stuff/localsystem.rar

Der Spaß basiert auf der Annahme, daß der Service im Kontext von SYSTEM (LocalSystem) gestartet wird, das Programm selber aber nicht (wenn es also nicht als Service gestartet wurde). Auf dieser Entscheidung basierend wird dann die Kontrolle an den SCM übergeben oder eben die normale Hauptfunktion aufgerufen - zumindest wäre dies bei dir dann wohl so.

Alternativ könntest du dem Service einen Parameter auf den Weg geben, damit das Programm weiß, daß es als Service laufen soll.
  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 18:34 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