AGB  ·  Datenschutz  ·  Impressum  







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

Programm per klick neustarten!

Ein Thema von Tobias2610 · begonnen am 5. Feb 2007 · letzter Beitrag vom 6. Feb 2007
Antwort Antwort
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#1

Re: Programm per klick neustarten!

  Alt 5. Feb 2007, 18:13
Ahlso du musst bei shellexecute meherere Parameter angeben. Shellexecute ist ein Befehl der dierekt von der WindowsAPI ist, also ist er ziemlich kompliziert und umständlich und hat Funktionen die du garnicht brauchst.

Der erste Parameter erlaubt dir das Fensterhandle des Programmes anzugeben, von dem es gestartet wurde (oder so glaube ich *g*). Der ist für dich unwichtig, gib einfach Null an.

Im zweiten Parameter kannst du den Typ der Operation die du machen willst als String angeben, du willst ein Programm öffnen, allso nimmst du 'open'.

Als drittes musst du den Dateinamen der Datei angeben, und zwar als pansichar. Das ist sowas ähnliches wie ein String, und Delphi kann es umwandeln: pansichar(application.exename).

In Parameters kannst du alle Parameter angeben, mit der du dein Programm startest. Die sind noch hauptsächlich aus DOS-Zeiten geblieben, werden aber manchmal heute immer noch benutzt (von mir z.B.). Das kannst du auch leer lassen, also einfach '' reinschreiben.

In Directory kannst du das Verzeichniss in dem das Programm ausgeführt wird angeben, fallst du es nicht ändern willst, lässt du hier auch frei: ''

In ShowCmd kannst du festlegen ob das Programm Maximiert oder Minimiert gestartet wird. Um in Standardeinstellungen zu starten schreib einfach 0.


Also:
Delphi-Quellcode:
shellexecute(0,'open',pansichar(application.exename),'','',0); //Programm neustarten
application.terminate; //Programm schließen.
//Du kannst auch zum besonders brutalen Beenden den Befehl halt(0) verwenden.
//Oder close, dann wird die onclose-Prozedur der Form noch ausgeführt.

Ich halte deine Arbeitsweise aber trotzdem für unsauber. Es wäre schonender für den Rechner wenn du alle Einstellungen so zurücksetzt (ok, für dich vllt nicht so schonend...)
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  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 23:54 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 by Thomas Breitkreuz