Jump to content

Sky Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate
Photo

Programme per Kürzel starten


  • Please log in to reply
22 replies to this topic
SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012
Das sollte auch möglich sein (auch wenn es nicht mehr ganz einfach ist), kann dir das morgen mal machen.

AutomateEverything
  • Members
  • 60 posts
  • Last active: Aug 25 2014 06:02 AM
  • Joined: 03 Dec 2012
Das wär super. Vielen Dank.

SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012
Konnte es gerade doch noch schreiben (vom Handy, daher ungetestet^^):

ArrayFromIniSec(ini,sec)
{
seca:={}
iniread, sct, % ini, % sec
loop, parse, sct, `n, `r
{
regexmatch(a_loopfield,"^(.+?)=(.*)", item)
if (item1)
seca[item1]:=item2
}
return seca
}
#SingleInstance, force
#a::
InputBox, shortcut
IniRead, path, shortcuts.ini, Shortcuts, %shortcut%, None
if(path = "None")
MsgBox, 16, Error, This path doesn't exist!, 2
else if(path = "Help"){
arr := ArrayFromIniSec("shortcuts.ini", "Shortcuts")
msg := ""
for i, k in arr
msg .= i "`t" k "`n"
MsgBox, 32, All Shortcuts, % SubStr(msg, 0, -1)
msg := arr := ""
}
else
Run, %path%
return


Ich kanns auch morgen nochmal schöner schreiben, war jetzt nur so...

ruespe
  • Members
  • 567 posts
  • Last active: Dec 01 2014 07:59 PM
  • Joined: 17 Jun 2008
Da kann ich nur wieder auf meinen Vorschlag "Menu" verweisen. Da hast du alles unter einem Hut und brauchst keine extra Help-Funktion.

SAPlayer
  • Members
  • 403 posts
  • Last active: Apr 11 2014 04:45 PM
  • Joined: 06 Nov 2012
Habe das Programm nun überarbeitet, getestet:
#SingleInstance, force
#a::
InputBox, shortcut
IniRead, path, shortcuts.ini, Shortcuts, %shortcut%, None
if(shortcut = "Help"){
IniRead, sct, shortcuts.ini, Shortcuts
msg := ""
loop, parse, sct, `n, `r
{
  regexmatch(a_loopfield,"^(.+?)=(.*)", item)
  if(item1){
   SplitPath, item2,,,, name
   msg .= item1 "`t" name "`t" item2 "`n"
  }
}
MsgBox, 32, All Shortcuts, % SubStr(msg, 1, -1)
msg := ""
}
else if(path = "None")
MsgBox, 16, Error, This path doesn't exist!, 2
else
Run, %path%
return


AutomateEverything
  • Members
  • 60 posts
  • Last active: Aug 25 2014 06:02 AM
  • Joined: 03 Dec 2012

Da kann ich nur wieder auf meinen Vorschlag "Menu" verweisen. Da hast du alles unter einem Hut und brauchst keine extra Help-Funktion.

Das stimmt, aber ich möchte zum einen nicht jedes mal die Hilfe angezeigt bekommen und zum anderen Programme per Text-Kürzel starten und nicht per Tastenkombination oder Mausklick.

ruespe
  • Members
  • 567 posts
  • Last active: Dec 01 2014 07:59 PM
  • Joined: 17 Jun 2008

...Programme per Text-Kürzel starten und nicht per Tastenkombination oder Mausklick.

...und genau das kannst du mit dem Menu. Aber mach nur. Wenn du nicht mal die Hilfe lesen willst...

AutomateEverything
  • Members
  • 60 posts
  • Last active: Aug 25 2014 06:02 AM
  • Joined: 03 Dec 2012
Ich habe mir die Dokumentation zum Menü nochmal durchgelesen. Es gibt nur einzelne Buchstaben als Remarks. Das hat vermutlich zu einem Missverständnis geführt. Dazu hat sicherlich auch meine ursprüngliche (falsche) Vermutung beigetragen, dass man die Alt-Taste zusätzlich zum Remark-Buchstaben drücken muss. Es reicht, einen einzelnen Buchstaben (z.B. f für Firefox) zu drücken. Allerdings sollen als Text-Kürzel mehrere Buchstaben möglich sein (z.B. "ff" für Firefox). Man kann aber nur einen einzigen Buchstaben bei Remarks unterstreichen, soweit ich das verstanden habe.

Warum mehrere Buchstaben?
Ich habe Programme mit ähnlichem Namen bzw. dem gleichen Anfangsbuchstaben (z.B. Firefox, Filezilla, ...). Ich würde es bevorzugen, mehrere Buchstaben zu drücken (z.B. "ff" für Firefox und "fz" für Filezilla). Diese Kürzel kann ich mir leichter merken. Wenn ich hingegen für Firefox den Anfangsbuchstaben f als Remark verwende und für Filezilla den 2. Buchstaben i (um Überschneidungen der Kürzel zu vermeiden), kann ich den Buchstaben i nicht mehr (ohne Überschneidung) für ein Programm verwenden, dass mit i beginnt (z.B. Icq). Folglich wird es schnell unübersichtlich.

Warum nicht mehrmals den gleichen Buchstaben zuordnen und durch-scrollen?
Angenommen ich nehme den Anfangsbuchstaben von jedem Programm und ich habe n Programme, die mit dem gleichen Anfangsbuchstaben anfangen, muss ich (im Worst-Case) n-mal den Anfangsbuchstaben eingeben, um das letzte Programm mit diesem Anfangsbuchstaben zu starten. Mir ist diese Variante einfach zu umständlich.
Außerdem könnte ich mir dann gleich einen Ordner anlegen und diesem eine Tastenkombination zuweisen. In den Ordner kämen dann die Verknüpfungen auf die ganzen Programme und ich hätte die gleiche Funktionsweise mit einem Explorer-Fenster. Dafür bräuchte ich kein Autohotkey.

Es kann gut sein, dass eine elegantere Umsetzung mit Menus möglich ist. Mir sind in der Dokumentation halt nur die Remarks aufgefallen. Habe ich etwas übersehen?