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 2 von 3     12 3      
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:43
Zitat von rollstuhlfahrer:
Process32First geht net. oder hat einer hier Windows CE

rollstuhlfahrer
Schau noch mal genau hin!
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

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

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 17:44
oups, in der schnelle das Suchergebnis nicht ganz überflogen

sorry
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: Erkennen wie Programm gestartet wurde

  Alt 5. Mär 2008, 19:15
Ich finde du solltest dein Konzept nochmal überdenken. Was passiert denn wenn ich das Programm über den TotalCommander oder einen anderen Dateimanager starte? bekomme ich dann die Batch-Version oder die Explorer-Version? Und was passiert wenn ich das Programm nicht über Start->Ausführen starte sondern durch ein anderes Programm? Und was passiert wenn ich es nicht per cmd/batch starte sondern mit einer alternativen cmd-shell?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

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

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 08:48
Zitat von SirThornberry:
Ich finde du solltest dein Konzept nochmal überdenken. Was passiert denn wenn ich das Programm über den TotalCommander oder einen anderen Dateimanager starte? bekomme ich dann die Batch-Version oder die Explorer-Version? Und was passiert wenn ich das Programm nicht über Start->Ausführen starte sondern durch ein anderes Programm? Und was passiert wenn ich es nicht per cmd/batch starte sondern mit einer alternativen cmd-shell?
Das sind berechtigte Gedanken.
Aber das Tool wird nur intern in unserer Firma eingesetzt.
Und hier ist ganz klar definiert, welche Software auf einem Rechner drauf sein darf / muss und welche nicht.
Total-Commander oder cmd-Clones sind nicht auf der whitelist drauf.

Die Applikation wird mit diesen Möglichkeiten gestartet:
- Doppelklick im Explorer (immer ohne Parameter)
- aus der cmd.exe (mit Parameter, sonst Fehlermeldung)
- aus dem Taskplaner (mit Parameter, sonst Fehler-Eintrag ins Logfile)

Wie kann ich nun auf elegante Art die Weise des Startens herausfinden?
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
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#15

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 09:00
Wie wär's wenn du die Exe überhaupt nicht direkt startest? Nimm doch für jeden der drei Fälle eine Batch-Datei, die dann die Exe mit unterschiedlichen Parametern startet.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

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

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 09:17
Zitat von mquadrat:
Wie wär's wenn du die Exe überhaupt nicht direkt startest? Nimm doch für jeden der drei Fälle eine Batch-Datei, die dann die Exe mit unterschiedlichen Parametern startet.
Und Du meinst, das peilen die Leute?
Dann kennst Du meine Kollegen (vor allem den Chef) nicht.
In einem Verzeichnis leigen verschiedene Dateien (*.exe, *.bat, usw.), was wird gestartet? Natürlich die exe, schon nur weil die ein buntes Icon hat.
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
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 10:52
Du könntest auch eine Dateierweiterung im Explorer registrieren, in deinem Fall 3 unterschiedliche. Je nach Erweiterung wird dann dein Programm mit unterschiedlichen Parametern gestartet. Dein Programm selbst (also die EXE) legst du irgendwo unter Program Files ab. Verteilen tust du dann nur die "Dokumente" mit deiner Dateierweiterung. Du kannst schöne bunte Icons hinterlegen, alles was du willst.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#18

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 11:26
Zitat von RavenIV:
In einem Verzeichnis leigen verschiedene Dateien (*.exe, *.bat, usw.), was wird gestartet? Natürlich die exe, schon nur weil die ein buntes Icon hat.
Wenn du eh schon Batch-Dateien oder ähnliches verwendest, dann kannst du doch in der Batch-Datei einen anderen Parameter übergeben und ohne Parameter (Chef hat die Exe direkt gestartet) gibst du die Fehlermeldung: "Hallo du Saufkopf" aus!
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

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

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 11:43
Zitat von sirius:
Zitat von RavenIV:
In einem Verzeichnis leigen verschiedene Dateien (*.exe, *.bat, usw.), was wird gestartet? Natürlich die exe, schon nur weil die ein buntes Icon hat.
Wenn du eh schon Batch-Dateien oder ähnliches verwendest, dann kannst du doch in der Batch-Datei einen anderen Parameter übergeben und ohne Parameter (Chef hat die Exe direkt gestartet) gibst du die Fehlermeldung: "Hallo du Saufkopf" aus!
Problem nicht verstanden.
Man soll es auch per Doppelklick starten können.
Wenn per batch gestartet wird und keine Parameter angegeben werden, nur dann soll ein Fehler angezeigt werden.
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
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#20

Re: Erkennen wie Programm gestartet wurde

  Alt 6. Mär 2008, 13:19
Zitat von Apollonius:
Oder du verwendest die ToolHelp-Funktionen, um die Prozess-Id des Eltern-Prozesses zu erhalten.
Zitat von RavenIV:
Wenn per batch gestartet wird und keine Parameter angegeben werden, nur dann soll ein Fehler angezeigt werden.
Dann ist der Eltern-Prozesses die CMD.EXE bei einem Start aus dem Explorer mit Doppelklick die Explorer.EXE.
Mittels dem Tool Processexplorer kennst du zum Test die Eltern-Prozesse herausfinden.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:39 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