Ich hab mal nen kleines Programm geschrieben bei dem man per Eingabe mit Tastatur Dateien, Ordner, Internetseiten öffnen kann.
( bin bei vielen Sachen meist einfach zu faul die zu suchen, deshalb tip ich die jetzt einfach ein und schon sind sie da :-P)
Dies geschieht in dem man einfach im laufenden Betrieb zuerst einen festlegbaren String, z.B. "open" eintippt und danach den Befehl ( einfach ohne Leerzeichen weiterschreiben )
Hier mal der Code:
[autoit]
#Include <Misc.au3>
#Include <File.au3>
; Don't change following:
Dim $act_time_string = ""
Dim $time_since_last_press = 0
; Can be canged:
$config = @ScriptDir & "\config.ini"
$keyword = "open"
;array besetzen und Größe festlegen
$section_names = IniReadSectionNames( $config )
$array_size = UBound( $section_names )
While 1
;~ ToolTip($act_time_string,0,0)
Sleep(10)
_catch_keyboard()
If TimerDiff( $time_since_last_press ) > 2000 Then
$act_time_string = ""
EndIf
;alle Abfragen aus der config
For $i = 0 To $array_size -1
If $keyword & $section_names[ $i ] = StringRight( $act_time_string, StringLen( $section_names[ $i ] ) + StringLen( $keyword ) ) Then
; Hier einfach die Sachen eintragen bei denen nichts ausgeführt werden soll ( z.B. weil dann unten in der 'Select Case' was gemacht werden soll )
If Not StringRight( $act_time_string, StringLen( $section_names[ $i ] ) ) = "apple" _
And Not StringRight( $act_time_string, StringLen( $section_names[ $i ] ) ) = "mac" Then
ShellExecute( IniRead( $config, $section_names[ $i ], "execute", "" ) )
EndIf
Select
Case StringRight( $act_time_string, StringLen( $section_names[ $i ] ) ) = "apple" Or StringRight( $act_time_string, StringLen( $section_names[ $i ] ) ) = "mac"
MsgBox( 0, "", "You wanna have an apple?" )
Case StringRight( $act_time_string, StringLen( $section_names[ $i ] ) ) = "browser"
MsgBox( 0, "", "Wanna surf?" )
Case StringRight( $act_time_string, StringLen( $section_names[ $i ] ) ) = "ausführen"
MsgBox( 0, "", "Hier wird was ausgeführt und anschließend dies hier ausgegeben." )
EndSelect
$act_time_string = ""
EndIf
Next
WEnd
;~ Funcs:
#include "_catch_keyboard.au3"
Das Programm holt seine Infos aus der in Zeile 10 angegebenen Ini-Datei.
Um da alles leicht einzutragen hab ich noch mal ein kleines Programm angehängt (" read_in.au3" ).. da einfach oben den Befehl eintragen bei den was passieren soll und unten einen Ordner, ne Internetseite oder ein Programm eintragen was dann geöffnet/ausgeführt werden soll.
Außerdem hab ich noch die "_catch_keyboard.au3" angehängt, welche in Zeile 54 includiert wird.
In der 'Select Case' Anweisung kann man übr. noch zusätzlich Sachen eintragen die bei bestimmten Befehlen geshehen sollen, in der if Anweisung darüber kann man auch Ausnahmen einfügen, bei denen kein ShellExecute ausgeführt wird.
Hoffe es gefällt euch
Bei Fragen einfach fragen
Und wenn jmd dran rumbasteln will,nur zu
Edit:
Eine Kleinigkeit noch:
Das Programm führt einen Befehl aus, sobald dieser eingetippt wurde, soll heißen wenn man 2 Befehle hat z.B.: "arbeit" (soll ieinen Ordner von der Arbeit öffnen ) und "arbeitsplazt", dann wird, sobald der Befehl "arbeit" eingetippt wurde, der Ordner geöffnet, Arbeitsplatz kann so also nicht erreicht werden.
Hab ich bisher noch nicht gefixt^^