Forum: PC-Programmierung Parameter an Notepad übergeben, möglich?


von Gustav K. (hauwech)


Lesenswert?

Hallo,

habe hier bei manchen Programmen in der Startleiste eine Verknüpfung zu 
einem kleinen Infotext hinzugefügt, den ich im Notepad wie folgt 
aufrufe: C:\Programme\ProgXYZ\Hinweis.txt

Das funktioniert auch, leider wird als Fenstergröße immer die letzte 
Größe verwendet, was eigentlich immer unpassend ist. Kann man dem Aufruf 
Parameter bzgl. Fenstergröße mitgeben?

Bei der Gelegenheit:
Die Position des Fensters mit zu übergeben wäre auch nicht verkehrt.

Nachtrag: BS ist WinXP SP3

Grüße von Gustav

: Bearbeitet durch User
von Christian M. (Gast)


Lesenswert?

Man kann die Fenstergrösse z.B. im Nachhinein mit AutoIt (mit WinMove) 
ändern.

Gruss Chregu

von zyxw (Gast)


Lesenswert?

Die Daten stehen in der Registry, welche man mit regedit.exe ändern 
kann, auch im batch-bode oder mit einer .reg-Datei.

von zyxw (Gast)


Lesenswert?

Der Schlüssel heißt
HKEY_USERS\S-1-5-21- .... \Software\Microsoft\Notepad
Dort gibt es 27 Einträge, unter anderem Statusbar, das ich immer auf 1 
setze, und eben iWindowPosX, iWindowPosY, iWindowPosDX, iWindowPosDY.
Mit einem Rechtsklick auf den Schlüsselnamen kann man ihn in eine 
.reg-Datei exportieren. Dann z.B. mit einem Editor ändern.

Doppelklick auf die .reg-Datei importiert sie wieder.
Das geht auch mit dem Aufruf regedit myfile.reg
Vorsicht bei Arbeiten an der Registry, schnell hat man ein schlecht 
laufendes System, wenn man nicht weiß, was man tut.

von nur zufällig hier (Gast)


Lesenswert?

Ein Fenster mit einem Textfeld (was evtl. Text aua ner Datei läd) ist 
ruck zuck und schmal mit Pascal, c o.ä programmiert.

Ansonsten evtl. so etwas
https://de.m.wikipedia.org/wiki/AutoIt

von nur zufällig hier (Gast)


Lesenswert?

BTW: Mit dieser Freeware geht das ootb
http://www.ghisler.com/lister/

von Gustav K. (hauwech)


Lesenswert?

zyxw schrieb:
> Der Schlüssel heißt
> HKEY_USERS\S-1-5-21- .... \Software\Microsoft\Notepad

Sorry, ich habe es mal wieder verwechselt: Mit Notepad meine ich diesen 
einfachen Editor, der standardmäßig mit dam Datentyp *.txt verknüpft 
ist. Wenn ich die Registry nach Editor absuche, findet sich nichts 
brauchbares. Wobei ich von der Registry gerne die Finger lassen würde.

Werde mir mal AutoIt und den Lister anschauen.

von zyxw (Gast)


Lesenswert?

Wir meinen das selbe Programm: notepad.exe
aka (auch bekannt als) Editor.
Suche nach dem Wert iWindowPosDX, er kommt nur zweimal vor,
nämlich unter HKEY_CURRENT_USER  und  HKEY_USERS

Viel Erfolg, das klappt schon!

von Dr. Sommer (Gast)


Lesenswert?

Wenn man über das Win32 API ein Programm aufruft, gibt es eine 
Möglichkeit dem Programm mitzuteilen dass es maximiert starten soll 
(SW_MAXIMIZE an nShowCmd übergeben). Das hätte den Vorteil dass die 
Übergabe direkt läuft, nicht andere Instanzen vom Notepad beeinflusst 
und auch kein anderes Programm dazwischen funken kann. Man müsste ein 
kleines C Programm schreiben was das tut. Oder kann der "start" Befehl 
das vielleicht?

von nur zufällig hier (Gast)


Lesenswert?

So als genereller Hinw

Dr. Sommer schrieb:
> Wenn man über das Win32 API ein Programm aufruft, gibt es eine
> Möglichkeit dem Programm mitzuteilen dass es maximiert starten soll
> (SW_MAXIMIZE an nShowCmd übergeben).

So als genereller Hinweis. Das muss nicht in allen Fällen funktionieren. 
Das aufgerufene Programm kann das übersteuern.

von Dr. Sommer (Gast)


Lesenswert?

Klar, aber Microsoft hat den Notepad doch bestimmt vorbildlich 
implementiert...

von Gustav K. (hauwech)


Lesenswert?

zyxw schrieb:
> Wir meinen das selbe Programm: notepad.exe

OK, habe mich doppelt irritieren lassen: NotePad heißt auszuführende 
Datei, Editor ist der Programmname.

Worin besteht eigentlich der Unterschied bei den beiden Aufrufen:

- C:\WINDOWS\system32\notepad.exe C:\Programme\ProgXYZ\README.TXT
- C:\Programme\ProgXYZ\README.TXT

Ersteres wurde bei einer Installation von CD genau so eingerichtet.
Die zweite Möglichkeit bringt jedoch das gleiche Ergebnis.

Dr. Sommer schrieb:
> ...gibt es eine
> Möglichkeit dem Programm mitzuteilen dass es maximiert starten soll

Das kann ich hier auch in den Eigenschaften der Verknüpfung auswählen:

- Normales Fenster
- Minimiert
- Maximiert

Die beiden zusätzlichen Möglichkeiten bringen mich aber nicht weiter.
Ich möchte eine Fenstergröße und Fensterposition mit übergeben.

von Gustav K. (hauwech)


Angehängte Dateien:

Lesenswert?

zyxw schrieb:
> ... und eben iWindowPosX, iWindowPosY, iWindowPosDX, iWindowPosDY.

Habe die Einträge in der Registry gefunden (Bild).
Die Werte würden auch für dieses Hinweisfenster passen.
Nur wie soll ich das zusammen mit der Hilfe aufrufen?

Die Verknüpfung sieht bisher so aus: C:\Programme\ProgXYZ\Hinweis.txt

von Chr. M. (snowfly)


Lesenswert?

Eigentlich konnte man unter Windows immer die letzte
Fensterposition speichern wenn man es mit
"Shift-ALT-F4" beendet hat.

: Bearbeitet durch User
von Gustav K. (hauwech)


Lesenswert?

Die Fenstergröße und Position wird bei jedem Schließen gespeichert. Das 
ist eben mein Problem. War das letzte Fenster riesengroß und mein 
Hinweistext besteht nur aus einer Anmerkung, so wird die Anmerkung in 
eben diesem letzten riesengroßen Fenster dargestellt. Ebenso andersrum 
(eine Menge Text in einem zu kleinen Fenster). Also darf ich erst mal 
die Fenster verkleinern/vergrößern und durch die Gegend schieben.

von Christian M. (Gast)


Lesenswert?

Hast Du die Texte immer in einer .txt Datei?

Du könntest alternativ, wieder mit AutoIt eine Message Box öffnen, z.B. 
mit:

https://autoit.de/onlinehilfe/functions/SplashTextOn.htm

Gruss Chregu

von Heinz V. (heinz_v)


Lesenswert?

Wandele die Texte in HTML, dann kannst Du mit den HTML Tags Grösse, 
Aussehen und Verhalten des Browserfensters steuern wie Du willst.

von Gustav K. (hauwech)


Lesenswert?

Christian M. schrieb:
> Hast Du die Texte immer in einer .txt Datei?

Ja.

Heinz V. schrieb:
> Wandele die Texte in HTML, dann kannst Du mit den HTML Tags Grösse,
> Aussehen und Verhalten des Browserfensters steuern wie Du willst.

Das wäre eine gute Lösung, vielen Dank für den Tipp.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.