Windows 7 4.537 Themen, 43.622 Beiträge

Taskleiste - Angeheftete Dateien

Mdl / 14 Antworten / Baumansicht 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
mi~we Mdl „Taskleiste - Angeheftete Dateien“
Optionen

Ja, in die Richtung geht was. Erstell dir zunächst ganz normal auf dem Desktop einen Link auf MyTool.exe. Dann Rechtsklick auf den Link -> Eigenschaften -> Reiter Verknüpfung.

Bei 'Ziel' ergänzt du dann noch den gewünschten Aufrufparameter, also etwa -i C:\Pfad\zu\cfg1.ini oder so. Dann auf 'Übernehmen' klicken. Diesen so modifizierten Link ziehst du dann auf die Taskleiste und heftest ihn da an. Das war's....So müsstest du dann verschiedene Links für die unterschiedlichen ini's anheften.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Ja, in die Richtung geht was. Erstell dir zunächst ganz ...“
Optionen

Geht leider nicht. Warum nicht erschließt sich mir auch nicht so ganz.

Habe zwar nicht wirklich ein Prg. namens MyTool.exe und Option -i (und daher das Schema aber auf ein anderes Prg. und eine andere Option angewendet), aber bleiben wir einfach bei dem Beispiel.

Habe also die Verknüpfung erstellt und die Option in die Eigenschaften eingetragen. Wenn ich jetzt eine Datei auf diese Verknüpfung ziehe, funktioniert alles wunschgemäß.

Wenn ich das Prg. auf der Taskleiste direkt anklicke verhält es sich erwartungsgemäß wie der Aufruf von "MyTool -i" (was vermutlich zu einer Fehlermeldung führen würde, da ja kein IniFile folgt). Wenn ich jetzt aber eine Datei auf das Icon ziehe verhält es sich wie "MyTool <dateiname>", d.h. das -i wird entfernt.

Schon irgendwie seltsam...

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „Geht leider nicht. Warum nicht erschließt sich mir auch ...“
Optionen
verhält es sich erwartungsgemäß wie der Aufruf von "MyTool -i" (was vermutlich zu einer Fehlermeldung führen würde, da ja kein IniFile folgt).

Was genau hast du denn jetzt gemacht? Du musst die ini-Datei schon mit in den Link (bei 'Ziel') schreiben, also nicht nur "mytool.exe -i". Diese ini-Dateien in das Kontextmenü eines an die Taskleiste angehefteten Programms einbauen, das geht nicht.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
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
mi~we Mdl „Hallo mi we, habe gestern abend Deinen Kommentar ...“
Optionen
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:

Ja, so meinte ich das. Ich bin mir nicht sicher, ob das mit den ini-Dateien immer so machbar ist, wie du das möchtest. Es wird anscheinend problematisch, wenn in der Aufrufsyntax noch so ein "-i" mit drin sein muss. Wenn du in dem Link als Ziel dann einfach E:\MyTool.exe -i einträgst, scheint das ja nicht wie gewünscht zu funktionieren.

Aber mal einen Alternativvorschlag: Schreib dir doch einfach ein kleines Programm, das als Parameter die ini-Datei übergeben bekommt und das dann einfach das gewünschte Programm mit der übergebenen ini-Datei als zusätzlichem Aufrufparameter startet. Das sollten ja nur ein paar Zeilen Code sein. Dieses kleine Hilfsprogramm heftest du dann (statt des Originalprogramms) an die Taskleiste.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Ja, so meinte ich das. Ich bin mir nicht sicher, ob das mit ...“
Optionen

Hallo mi~we,

Ja, so meinte ich das

Hmm. Hatte ich befürchtet.

Dein Vorschlag ist gut und für -i reicht vermutlich sogar ein simples Batchfile, das als Icon in die Toolbar eingebunden wird. [Korrektur! Batchfiles können wohl nicht in die Taskleiste eingebunden werden]

Ich hab so etwas sogar schon zuvor geschrieben, allerdings nur für eine Spezialanwendung. Und bevor ich das weiter vorhatte auszubauen, hab ich jetzt nach einer einer einfacheren Lösung gesucht.

Gepostet habe ich das Ganze dann auch, da ich fast nicht glauben kann, dass MS an solch einen Gebrauch nicht gedacht hat und ausschließlich angeheftete Dateien nur in dieser trivialen Weise gebrauchen lässt und alles etwas kompliziertere eine solche künstliche Lösung (über ein drittes Programm) braucht. Wieso implementieren die ein praktisches Konzept mit angehängten Dateien und restriktieren das dann (fast künstlich).

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „Hallo mi we, Hmm. Hatte ich befürchtet. Dein Vorschlag ist ...“
Optionen
ausschließlich angeheftete Dateien nur in dieser trivialen Weise gebrauchen lässt

Das Problem dürfte sein, dass die Syntax, wie einem Programm beim Start eine ini-Datei oder ähnliches als zusätzlicher Startparameter übergeben wird, wohl in keiner Weise standardisiert ist. Da wird es dann schwer, dafür was zu basteln.

P.S.

Korrektur! Batchfiles können wohl nicht in die Taskleiste eingebunden werden

Aber man kann die cmd.exe an die Taskleiste anheften. In einem Link auf die cmd.exe kann man unter 'Ziel' der cmd.exe über den Parameter '-c' ( c wie command ) eine auszuführende Batch-Datei als Startparameter übergeben. Wenn du einen so modifizierten Link an die Taskleiste anheftest, sollte es auch mit einer Batch-Datei klappen.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Das Problem dürfte sein, dass die Syntax, wie einem ...“
Optionen

Hallo mi~we,

gute Idee. Hab es auch gleich ausprobiert.

Seltsamerweise lassen sich keine Dateien an das CMD.EXE der Taskleiste anheften:

Zum Vergleich der Versuch dieselbe Datei an MyTool.exe anzuheften:

Selbst der Versuch zu tricksen, d.h. an MyTool anzuheften und unter Eigenschaften und Ziel dann MyTool.exe nach cmd.exe umzubenennen, half nicht: Die unter MyTool noch erschienene angeheftete Datei wird bei RMB-Klick nicht mehr eingeblendet. So als gäbe es EXE-Files mit und ohne mögliche angeheftete Dateien...

Schon ziemlich seltsam...

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „Hallo mi we, gute Idee. Hab es auch gleich ausprobiert. ...“
Optionen
Seltsamerweise lassen sich keine Dateien an das CMD.EXE der Taskleiste anheften

Das dürfte wieder an der Syntax liegen. Um der cmd.exe eine Batch-Datei zum Ausführen zu übergeben lautet der Aufruf

cmd.exe -c Pfad/zur/Batch.bat

Ein simples

cmd.exe Pfad/zu/Batch.bat

funktioniert nicht.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Das dürfte wieder an der Syntax liegen. Um der cmd.exe ...“
Optionen

Jetzt mal ganz konkret:

Hast Du das denn ausprobiert - ich glaube ja eher nicht?

Und kannst Du an ein CMD.EXE in der Taskleiste irgendwelche Dateien anhängen?

Ich habe es mit allen möglichen Einträgen (ohne Parameter, mit '/C e:\MyTool.bat' (*) und sogar mit '-c e:\MyTool.bat' ausprobiert und bei mir (Win7,x64) geht es nicht. Es kommt dieses Verbotszeichen (siehe letztes Bild), welches nur bei CMD.EXE und nicht bei anderen Icons auf der Taskleiste erscheint.

Und wenn man keine (Batch)datei an das Taskleisten-Icon anhängen kann, hat man ja auch keine Möglichkeit deren Namen dem entspr. Batchdatei zu übergeben.

(*): In MyTool.bat steht:

e:\MyTool.exe -i %1

(und zum Testen dahinter noch 'Pause')

Gruß,

Mdl

bei Antwort benachrichtigen
mi~we Mdl „Jetzt mal ganz konkret: Hast Du das denn ausprobiert - ich ...“
Optionen

Kleine Korrektur: der Parameter für die cmd.exe lautet /c und nicht -c. SorryVerlegen

Daß man irgendwelche Dateien an die cmd.exe in der Taskleiste anhängen kann, habe ich auch nicht behauptet. Bei meinem Hinweis ging es nur darum eine einzelne Batch-Datei über einen kleinen Umweg an die Taskleiste anzuheften.

"Es wäre dumm, sich über die Welt zu ärgern. Sie kümmert sich nicht darum." (Marc Aurel)
bei Antwort benachrichtigen
Mdl mi~we „Kleine Korrektur: der Parameter für die cmd.exe lautet /c ...“
Optionen
lautet /c und nicht -c.

schon gemerkt (s.o.) und nicht weiter schlimm...

Warum kommt nur (und auch 'nur' im Sinne von 'ausschließlich') dieses Verbot(szeichen) beim Versuch an cmd.exe überhaupt etwas anzuheften.

Naja, ist mir jetzt auch langsam egal.

Ich denke, ich muss meine oben kurz angedeutete Lösung - eigenes EXE-File schreiben, das die Funktionalität von CMD.EXE übernimmt - noch etwas ausbauen, dann krieg ich das alles über diesen Umweg auch hin; ob genauso komfortabel (nach der Anfangsanstrengung) wie, als wenn ein '-i' im Ziel funktioniert hätte, wird sich zeigen...

Vielleicht schreibe ich noch was dazu, wenn ich soweit bin.

Gruß,

Mdl

bei Antwort benachrichtigen
presla Mdl „Taskleiste - Angeheftete Dateien“
Optionen

Schau mal diese Seite an : http://www.chip.de/downloads/WindowTabs_45829386.html ,

das Video ist nicht das Beste,es gibt bessere,aber ich glaube das wäre für Dich eine Lösung.

In der Kaufversion kein Limit!

Grüße aus NRW von Presla....... Horst Evers: Wer alles weiss, hat keine Ahnung
bei Antwort benachrichtigen
Mdl presla „Schau mal diese Seite an : ...“
Optionen

Hallo Presla,

ist ein hübsches Tool. Muss ich mir mal genauer ansehen.

Scheint aber rein gar nichts mit dem zu tun zu haben, was ich in diesem Posting suche.

Zumindest zeigt das Video nichts davon an (und die Webseite auch nicht).

Gruß,

Mdl

bei Antwort benachrichtigen