AMP: Parameter beim Starten von Anwendungen

Fragen, Tipps & Tricks zu Freeware-Programmen 0190 Warner, Alle meine Passworte, SuperSpamKiller Standard usw.

Moderatoren: Ralf, mirko

Antworten
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Mhh was habe ich denn da für ne Schei*e programmiert. :) Muss ich nochmal anschauen, irgendwie verwende ich in diesem Fall wohl nicht den gleichen Aufruf. Naja mal anschauen.
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Und wie das geklappt hat... :)

Zu meinem Bedauern habe ich erst am Montag mal wieder auf die Seite geschaut und erst dann die neu Version 2.36 entdeckt. Die v2.35 habe ich somit übersprungen...

Ich habe das Feature natürlich sofort ausprobiert. Dabei habe ich noch folgenden \"Schönheitsfehler\" festgestellt.

Über das Schnellzugriffsfenster funktioniert das Verwenden der Platzhalter in den Parametern problemlos. Bisher habe ich das aber nur mit dem Benutzernamen und dem 1. Passwort probiert und nicht mit weiteren Feldern.
Beim ersten Test bin ich so vorgegangen, dass ich in AMP mit der rechten Maustaste das Kontextmenü des geänderten Eintrages aufgerufen habe und hier \"Eintrag ausführen\" ausgewählt habe. Dabei wurden dann nicht die Inhalte der Platzhalter für den Aufruf verwendet, sondern die Platzhalter selbst (z.B. %USERNAME%), was natürlich nicht zum gewünschten Ergebnis führte. Über das Schnellzugriffsfenster funktioniert der Aufruf jedoch tadellos.

Ich bin begeistert... :i_respekt:

Gruß,
Inselmann
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Macht ja nix. Danke für die Info...

Vielleicht klappt es im nächsten Release :)

Gruß,
Inselmann
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Nein dafür hatte ich keine Zeit.
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Hallo Mirko,
Original von Mirko:
Hallo,

AmP kann das natürlich nicht. Aber ich merke mir das mal, ist ne gute Idee.

hast Du das in die Verion 2.30 eingebaut? Wenn ja, wie verwende ich es?

Danke und Gruß,
Inselmann
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Danke für Deine Mühen. :i_respekt:
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Muss ich mir bei Gelegenheit nochmals anschauen, ich weiss im Moment nicht, wie die Parameter zwischengespeichert werden.
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Hallo Mirko,
Original von Mirko:
Hallo,

das ist kein Fehler, sondern so gedacht. Als Entwickler muss man die Parameter extra angeben bzw. gibt man diese in Anführungszeichen an, dann werden diese als ein Parameter von Windows angesehen und entsprechend übergeben.

Mal was programmiertechnisches dazu, der Funktionsaufruf sieht so aus:

Es gibt also ein Parameter lpApplicationName, da kommt die Anwendung rein, die gestartet werden soll. Der Parameter lpCommandLine enthält die Kommandozeilenparameter. Also getrennte Angabe ist notwendig.
so in etwa verstehe ich das schon aber irgendwie ist das Problem doch in AMP drin... Ohne jetzt diese geniale Software anzuzweifeln :)

Durch Deine Angaben konnte ich den Fehler beheben.

Die einzige Änderung die ich vorgenommen habe ist, dass ich die \"zu öffnende Anwendung\" in Anführungszeichen gesteckt habe. Die zusätzlichen Parameter habe ich so belassen.

Nur die Anwendung wurde durch AMP dort ohne Anführungzeichen eingetragen, wenn man das Icon zum durchsuchen anklickt. Das ist also ein kleiner Fehler in AMP.

Komisch finde ich dann nur, dass wenn ich keine zusätzlichen Parameter angebe und die Anführungszeichen um die zu öffnende Anwendung weglasse, die Anwendung ausgeführt wird... !?

Woran liegt das denn jetzt?

Die Anführungszeichen lösen für mich aber das Problem.

Nochmals Danke.

Gruß,
Inselmann
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Hallo,

das ist kein Fehler, sondern so gedacht. Als Entwickler muss man die Parameter extra angeben bzw. gibt man diese in Anführungszeichen an, dann werden diese als ein Parameter von Windows angesehen und entsprechend übergeben.

Mal was programmiertechnisches dazu, der Funktionsaufruf sieht so aus:

Code: Alles auswählen

BOOL CreateProcess(

    LPCTSTR lpApplicationName,	// pointer to name of executable module 
    LPTSTR lpCommandLine,	// pointer to command line string
    LPSECURITY_ATTRIBUTES lpProcessAttributes,	// pointer to process security attributes 
    LPSECURITY_ATTRIBUTES lpThreadAttributes,	// pointer to thread security attributes 
    BOOL bInheritHandles,	// handle inheritance flag 
    DWORD dwCreationFlags,	// creation flags 
    LPVOID lpEnvironment,	// pointer to new environment block 
    LPCTSTR lpCurrentDirectory,	// pointer to current directory name 
    LPSTARTUPINFO lpStartupInfo,	// pointer to STARTUPINFO 
    LPPROCESS_INFORMATION lpProcessInformation 	// pointer to PROCESS_INFORMATION  
   );
Es gibt also ein Parameter lpApplicationName, da kommt die Anwendung rein, die gestartet werden soll. Der Parameter lpCommandLine enthält die Kommandozeilenparameter. Also getrennte Angabe ist notwendig.
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Hallo,

ich habe mich nochmals ein wenig mit der Thematik AMP und Anwendungen mit Startparameter befasst.

Mir scheint, dass AMP (v2.21) Probleme mit den \"Zusätzlichen Start-Parametern\" hat, was ich an folgendem Beispiel nachvollzogen habe.

Ich habe eine Bachtdatei test.cmd mit folgendem Inhalt erstellt:

@echo off
echo %0
echo %1
echo %2
echo %3
echo %4
echo %5
pause


Manuell getestet habe ich die Batchdatei mit der Eingabeaufforderung.

test /a 3 \"Parameter in Anführungszeichen\" 65 7

Ergebnis:

test
/a
3
\"Parameter in Anführungszeichen\"
65
7
Drücken Sie eine beliebige Taste . . .



In einer AMP-Passwort Datei habe ich einen Eintrag erzeugt, der diese Batchdatei als Anwendung aufruft. Gebe ich bei \"Zusätzliche Start-Parameter\" die obigen Paramter ein, so blinkt kurz eine Eingabeaufforderung auf und ist sofort wieder verschwunden.

Füge ich allerdings die Parameter direkt in der Zeile \"Zu öffnende Anwendung\" ein (z.B.: C:\\Programme\\AmP\\test.cmd /a 3 \"Parameter in Anführungszeichen\" 65 7), so wird die Anwendung mit Parameterübergabe korrekt ausgeführt. Das Ergebnis ist das Identisch mit dem obigen manuellen Test.

Im anhängen ZIP findet Ihr die AMP Passwortdatei test.AmP und die beschriebene Batchdatei test.cmd. Pfadangaben müssen ggf. in der Passwortdatei angepasst werden (Bei mir C:\\Programme\\AmP\\test.cmd). Das Passwort für die Passwortdatei ist ebenfalls test.

Ist das ein Fehler in AMP oder ein Fehler in meinem Aufruf?

Danke und CU,
Inselmann
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Vielen Dank für die schnelle Antwort.

Freut mich, dass Dir die Idee gefällt :)
Benutzeravatar
mirko
Beiträge: 23070
Registriert: 25.11.2001, 15:14
Wohnort: Leipzig
Kontaktdaten:

Beitrag von mirko »

Hallo,

AmP kann das natürlich nicht. Aber ich merke mir das mal, ist ne gute Idee.
Inselmann
Beiträge: 15
Registriert: 26.08.2004, 12:44

Beitrag von Inselmann »

Hallo Mirko,

erstmal vielen Dank für Deine tolle Arbeit. Deine Software ist wirklich genial. :i_respekt:

Ich hätte da eine Frage zu AMP und das Starten von Anwendungen:

Besitzt AMP die Möglichkeit -- mittels hauseigener Variablen -- die Eingaben (Benutzername, Passwort 1, Passwort 2 evtl. auch die Bezeichnung des Eintrages) als Parameter für eine Anwendung zu übergeben?

Konkret möchte ich eine Anwendung starten (VNCViewer). Hier möchte ich als Parameter den Benutzernamen (in meinem Fall die IP-Adresse des VNCServers) und das Passwort 1 übergeben. Vorteil wäre, dass die VNC Sitzung sofort ohne Dialog startet, wenn ich auf den Button URL/Programm bzw. STRG+F10 drücke.

Der Aufruf wäre normalerweise:
vncviewer.exe IPAdresse /passwort xyz

Wünschenswert in AMP wäre dann soetwas wie:
Zu öffnende Anwendung: <Drive>\\Pfad\\vncviewer.exe
Zusätzlich Start-Parameter: % Benutzername% /password %Passwort1%

Geht soetwas mit AMP oder wäre das für Dich evtl. ein Verbesserungsvorschlag für ein kommendes Release?

Vielen Dank.
Antworten