BCS Computersysteme Holzhau Tino Bellmann

Frage zur Parameterübergabe bei Windows-Bildschirmschonern: /s, /p, /a, und /c

Frage zur Parameterübergabe bei Windows-Bildschirmschonern: /s, /p, /a, und /c bildschirmschoner aufrufparameter delphi systemsteuerungform1 label1 paramstr formcreate Bildschirmschoner-Aufrufparameter unter Windows
Bildschirmschoner-Aufrufparameter unter Windows

Ich habe Ihre Webseite bei der Suche zu meinem Delphi-Problem gefunden. Ich möchte einen Bildschirmschoner entwickeln, an dem man auch selbst Einstellungen vornehmen kann. In der Literatur steht, daß Windows dabei den Parameter /c übergibt. Diesen Parameter frage ich ab, aber beim Aufruf von /c öffnet sich das vorgesehene Fenster zur Bildschirmschonerkonfiguration nicht, wenn ich das fertige Programm in der Systemsteuerung teste.

Antwort: Die Ursache ist ein Fehler in der Fachliteratur und in den Beispiel-Quellcodes. Beim Aufruf des Konfigurationsfensters wird nicht nur  "/c" als Parameter übergeben, sondern /c, ein Doppelpunkt und ein Fensterhandle.

Daher sind viele Beispiele im  Web und in der Fachliteratur falsch.

if (UpperCase(ParamStr(1))='/C' then begin //funktioniert nicht !

Der Aufrufparameter wird nicht als zwei Zeichen langer String-Parameter übergeben, sondern ist durch den Doppelpunkt und die Nummer des Fensterhandles länger.  Daher wird die Bedingung "Der übergebene Parameter ist zwei Zeichen lang und lautet /C" nie erfüllt.

Wenn man das nachfolgende Fensterhandle nicht auswerten will, kann man den Parameterstring auf 2 Zeichen kürzen:

parameter:=copy(UpperCase(ParamStr(1)),0,2);

if parameter='/C' then begin...

Das sollte für die einfache Programmierung eines Bildschirmschoners funktionieren.

Um das Zusammenspiel der Aufrufparameter bei Windows-Bildschirmschonern zu erkennen, empfehle ich folgende Vorgehensweise (Delphi):

  • Erzeugen Sie ein neues Projekt mit einem Form namens Form1
  • Legen Sie ein label namens Label1 darauf
  •  Lassen Sie  das Label in der vorgegebenen Breite oder erweitern Sie es etwas, keinesfalls verkürzen
  • Fügen Sie eine Oncreate-Ereignisbehandlung für das Form1 hinzu
  • Übernehmen Sie in die Ereignisbehandlung den unten stehenden Code
  • Speichern Sie
  •  Erzeugen Sie eine exe-Datei: "Start"
  • Benennen Sie die ".exe"-Datei in ".scr" um und erzeugen Sie auf diese Weise einen "Bildschirmschoner".
  • Kopieren Sie die scr-Datei in das Verzeichnis c:windows

procedure TForm1.FormCreate(Sender: TObject);
var parameter: string;
begin
parameter:=UpperCase(ParamStr(1));
 label1.caption:=parameter;
end;

Nun richten Sie diesen (wahrscheinlich) "Projekt1" heißenden Bildschirmschoner in der Systemsteuerung ein. Wählen Sie die Datei in den Anzeigeeinstellungen aus, klicken Sie abwechselnd auf "Vorschau" und "Einstellungen". Jedesmal wird sich nun das Form1 öffnen und im Label1 den von Windows übergebenen Aufrufparameter anzeigen.

 

Informationen zu diesem Artikel:

Redakteur: Tino Bellmann
Erstellt: 04.08.2008
Aktuell: 19.08.2008
Ähnliche Themen: bildschirmschoner aufrufparameter delphi systemsteuerungform1 label1 paramstr formcreate

Webdesign Linux Fonts
Thickbox Demo
Fancybox Demo
Datepicker Web Kalender Demo
Kostenloses Gästebuch
Your IP
Your Hostname
Unicode-Tabelle
Quittung online
Passwort Generator
Kleinanzeigen
CNC Ansteuerungssoftware für SMC800 und SMC1500
Ökobad Rechenberg
Holzhau Skifasching
Festumzug Rechenberg
Holzhau Dorffest
Holzhau Huskyrennen
Freiberger Eisenbahn
Segelfliegen Oschatz
Zoo Leipzig
Pferdebahn Döbeln
Elbsandsteingebirge
Biathlon
Weisseritztalbahn
Dampflok Videos
Döllnitzbahn
Drachenbootcup
Holzhau Videos