AGB  ·  Datenschutz  ·  Impressum  







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

Erkennen wie Programm gestartet wurde

Ein Thema von RavenIV · begonnen am 5. Mär 2008 · letzter Beitrag vom 7. Mär 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#1

Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:02
Hallo

Kann ich irgendwie ermitteln, wie mein Programm gestartet wurde?

Hintergrund:
Ich habe ein Programm, das sich anderst verhalten soll, wenn es im Explorer mit Doppelklick gestartet wird und wenn es per Batch oder cmd oder Taskplaner gestartet wurde.
Wenn es per Doppelklick gestartet wird, soll Form1 angezeigt werden.
Bei Start per batch oder cmd oder Taskplaner soll man Parameter mitgeben müssen, nun soll direkt Form2 angezeigt werden. Wenn dann keine Parameter angegeben sind, soll eine Fehlermeldung kommen.

Danke schon mal.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:03
Du könntest aus dem Explorer einen bestimmten Parameter mitgeben.
Oder du verwendest die ToolHelp-Funktionen, um die Prozess-Id des Eltern-Prozesses zu erhalten.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:06
Zitat von Apollonius:
Du könntest aus dem Explorer einen bestimmten Parameter mitgeben.
Oder du verwendest die ToolHelp-Funktionen, um die Prozess-Id des Eltern-Prozesses zu erhalten.
Das Programm soll auf verschiedenen PCs laufen, somit scheidet der Parameter im Explorer schonmal aus.

Hast Du da eine konkrete Idee für die ToolsAPI?
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:08
Am Besten verwendest du den Parameter für den Batch/Task
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:12
Zitat von mkinzler:
Am Besten verwendest du den Parameter für den Batch/Task
Wenn dann aber kein Parameter angegeben wird beim Start per batch/cmd/Taskplaner, dann soll eine Fehlermeldung angezeigt werden.

Beim Start per Explorer sollen keine Parameter mitgegeben werden. Dann soll die Applikation normal laufen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#6

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:13
Such mal nach MSDN-Library durchsuchenProcess32First
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:17
Zitat von s-off:
Such mal nach MSDN-Library durchsuchenProcess32First
das hilft mir erstmal nicht weiter.

Gibt es nicht so was wie Application.CallingThread oder Application.Caller oder so?

P.S. Feierabend. Morgen geht es weiter.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:22
Nur Mut, RavenIV: MSDN-Library durchsuchenCreateToolHelp32Snapshot, MSDN-Library durchsuchenProcess32First, MSDN-Library durchsuchenPROCESSENTRY32
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#9

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:40
Process32First geht net. oder hat einer hier Windows CE
Zitat von Microsoft:
OS Versions: Windows CE 2.0 and later.
Header: Tlhelp32.h.
Link Library: Toolhelp.lib.
rollstuhlfahrer
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
s-off
(Gast)

n/a Beiträge
 
#10

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:42
Zitat von rollstuhlfahrer:
Process32First geht net. oder hat einer hier Windows CE
Zitat von Microsoft:
OS Versions: Windows CE 2.0 and later.
Header: Tlhelp32.h.
Link Library: Toolhelp.lib.
rollstuhlfahrer
Man sollte schon an der richtigen Stelle schauen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 05:59 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