Windows 7 4.533 Themen, 43.568 Beiträge

Taskleiste - Angeheftete Dateien

Mdl / 14 Antworten / Flachansicht Nickles

Wie vermutlich allgemein bekannt ist, kann man an die Taskleisten-Icons Dateien anheften.

Wird z.B. der Notepad an die Taskleiste angeheftet und an das Notepad-Icon wiederum eine Datei ToDo.txt, so kann man diese über einen Klick auf den Rechte-Maus-Button (RMB) effizient starten und muss sich nie mehr überlegen, wo denn diese TODO-Datei auf dem Rechner nochmal war.

Auf Kommandozeilenebene wäre ein Anklicken gleichzusetzen mit

  ...\notepad.exe ...\ToDo.txt

wobei die Punkte für den jeweilgen Pfad des Prg. und der Datei stehen.

Was aber, wenn die Syntax eines Tools MyTool.exe z.B. so aussieht

  MyTool [-i IniFile] 

D.h. ich kann MyTool.exe entweder direkt ohne Parameter aufrufen oder es mit einem Inifile starten, muss dann aber das Prefix -i vorsetzen.

FRAGE: Kann ich dann verschiedene IniFiles cfg1.ini, cfg2.ini an mein Taskleisten-Icon für MyTool anheften, so dass MyTool jeweils mit den entsprechenden IniFile-Parametern gestartet wird?

Also statt

  ...\MyTool.exe ...\cfg1.ini

eben mit

    ...\MyTool.exe -i ...\cfg1.ini

Wäre MyTool.exe z.B. ein Dateimanager, so könnte im IniFile das Quell- und Zielverzeichnis definiert werden können und man könnte so recht schnell öfter mal benötigte Quell/Ziel-Verzeichnis-Kombinationen in verschiedenen IniFiles speichern und die dann an das TaskleistenIcon hängen und wäre dann schon allein durch die Auswahl eines angehefteten IniFiles in den richtigen Verzeichnissen.

Gruß,

Mdl

bei Antwort benachrichtigen
Mdl mi~we „Was genau hast du denn jetzt gemacht? Du musst die ...“
Optionen

Hallo mi~we,

habe gestern abend Deinen Kommentar durchgelesen, nicht so ganz schlau daraus geworden und ein bisschen durchprobiert, habe aber keine richtig funktionierende Lösung gefunden. So habe ich schnell ein MyTool.exe geschrieben mit der '-i' Vorgabe: Dieses gibt eine Messagebox mit Titel 'Success' aus, wenn es mit zwei Parametern der form MyTool.exe -i <file>' aufgerufen wird, sonst 'Error' (s.u.). An dieses sind zwei .ini-Dateien my_inifile_1.ini und my_inifile_2.ini angeheftet und das Resulat sieht dann wunschgemäß so aus:

So soll es aussehen (, aber eben auch funktionieren)

Es ist also genau 1 Eintrag auf der Taskleiste und bei RMB-Klick auf das das MyTool-Icon in der Taskleiste -mehrere an diesen angeheftete Inifiles. (Klar, im Normalfall sind es mehr als nur 2 (und die bekommen auch aussagekräftige Namen)),

[

Wenn ich jetzt Deine erste Antwort richtig interpretiere, ist Dein Ziel aber ein anderes, da brauche ich dann zwei (oder bei 10 versch. Inifiles: 10!) Einträge auf der Taskleiste:

Dies ist aber NICHT gewollt.

Bei 5 Programmen mit jeweils 10 gewünschten Aufrufparametern wären das so ja 5x10, also 50 benötigte Icons auf der Taskleiste.

Wenn Du das so verstanden hast, macht Deine 2. Posting für mich Sinn. Dann müsste ich die Eigenschaften so definieren

und bekomme eben SUCCESS als Rückmeldung. Dann muss natürlich auch das entspr. Inifile in das Ziel geschrieben werden und es bedarf auch keiner Anheftung an das jeweilige MyTool-Icon. Aber wie gesagt mehr als ein Icon der Taskleiste ist nicht gewünscht.]

Jetzt stellt sich die Frage: Habe ich Deine Antworten falsch verstanden oder hast Du meine Ursprungsfrage falsch verstanden?

Falls zweites der Fall war, gibt es auch für meine Vorstellung - ein Taskleistenicon + mehrere Anheftungen daran - eine Lösung für die benötigte Syntax 'MyTool -i <filename>' ?

Falls aber erstes der Fall war, stelle ich später nochmal ein paar gezieltere Fragen, was genau jetzt in Eigenschaften/Ziel von MRTool und was in Eigenschaften/Ziel von my_inifile_1.ini eingetragen muss, dass auch so mein SUCCESS-Fenster erscheint und eben nicht, wie leider bei meinen bisherigen Vesuchen

Gruß,

Mdl

P.S. Die entsprechenden Zeilen im C++Quellcode für die Ausgabe der jew. MsgBox lauten:

if(ParamCount()!=2 || ParamStr(1)!="-i")
    MessageBox(NULL, L"Syntax: MyTool -i <filename>", L"ERROR", MB_OK);
  else
    MessageBox(NULL, ("File-Arg: "+ParamStr(2)).w_str(), L"SUCCESS", MB_OK);

bei Antwort benachrichtigen