2008-09-19 8 views
21

Ich benutze AutoHotKey für Windows-Makros. Meistens verwende ich es um Hotkeys zu definieren, die bestimmte Apps starten/fokussieren, und um eine Instant-E-Mail in meine ToDo-Liste zu senden. Ich habe auch einen Notfall, der alle meine großen Speicher-hogging Apps (Outlook, Firefox, etc) tötet.Beste AutoHotKey-Makros?

Also, hat jemand gute AHK-Makros zu teilen?

+4

Werfen Sie einen Blick auf http://superuser.com/questions/7271/most-useful-autohotkey-scripts – Jay

+4

diesen Link nicht mehr scheint zu arbeiten: -/ – Evildonald

Antwort

13

Sehr einfache und nützliche Schnipsel:

SetTitleMatchMode RegEx ; 
; Stuff to do when Windows Explorer is open 
; 
#IfWinActive ahk_class ExploreWClass|CabinetWClass 
    ; create new folder 
    ; 
    ^!n::Send !fwf 

    ; create new text file 
    ; 
    ^!t::Send !fwt 

    ; open 'cmd' in the current directory 
    ; 
    ^!c:: 
     OpenCmdInCurrent() 
    return 
#IfWinActive 

; Opens the command shell 'cmd' in the directory browsed in Explorer. 
; Note: expecting to be run when the active window is Explorer. 
; 
OpenCmdInCurrent() 
{ 
    WinGetText, full_path, A ; This is required to get the full path of the file from the address bar 

    ; Split on newline (`n) 
    StringSplit, word_array, full_path, `n 
    full_path = %word_array1% ; Take the first element from the array 

    ; Just in case - remove all carriage returns (`r) 
    StringReplace, full_path, full_path, `r, , all 
    full_path := RegExReplace(full_path, "^Address: ", "") ; 

    IfInString full_path, \ 
    { 
     Run, cmd /K cd /D "%full_path%" 
    } 
    else 
    { 
     Run, cmd /K cd /D "C:\ " 
    } 
} 
+1

Ich musste zwei Zeilen hinzufügen, um dieses Skript in Win7 mit AHK 1.048.05 arbeiten: [1] SetTitleMatchMode RegEx; am Anfang des Skripts im Autorun-Abschnitt [2] full_path: = RegExReplace (vollständiger Pfad, "^ Adresse:", ""); strip to bare address – Leftium

+1

Ich bin ein Newb im autohotkey-Scripting und habe Probleme beim Implementieren von Leftiums Fixes, an welche Zeilen gehen die neuen Befehle? – raveren

+0

Das hat auf meiner Plattform nicht funktioniert, als ich ^! N und andere Befehlslisten oben angeklickt habe ... Ich weiß nicht, was passiert ist – harris

6

; Ich habe dies in meinem Startmenü, so dass ich meinen Ohren nicht verderben, wenn ich auf meine Kopfhörer aufsetzen, nachdem der Computer

sleep, 5000 
SoundSet, 1.5 ; really low volume 
4

Neustart Ich schaffe neue Outlook Objekte mit AutoHotKey

; Win + Shift + M = neue E-Mail-Adresse

#+m:: Run "mailto:" 

; Ausblick

#^M:: Run "%ProgramFiles%\Microsoft Office\Office12\OUTLOOK.EXE" /recycle 

; Win + Shift + A = schaffen neue Kalendertermin

#+A:: Run "%ProgramFiles%\Microsoft Office\Office12\OUTLOOK.EXE"/c ipm.appointment 

; Win + Shift + T = neue Aufgabe erstellen ; Win + Shift + K = Neue Aufgabe

#+T:: Run "%ProgramFiles%\Microsoft Office\Office12\OUTLOOK.EXE"/c ipm.task 
#+K:: Run "%ProgramFiles%\Microsoft Office\Office12\OUTLOOK.EXE"/c ipm.task 
8

Add Zitate auf ausgewählten Text/Wort umgebenden
Nützlich, wenn das Schreiben von E-Mails oder bei der Codierung ...

Doppelklick Wort, schlug Win + X, haben in Anführungszeichen

; Win + X 
#x:: ; Attention: Strips formatting from the clipboard too! 
Send ^c 
clipboard = "%clipboard%" 
; Remove space introduced by WORD 
StringReplace, clipboard, clipboard,%A_SPACE%",", All 
Send ^v 
return 
3

Hier ist ein einfaches Schnipsel, um das aktuelle Fenster schnell mit einer Maustaste zu schließen.

Es ist eine der Aktionen, die Sie am häufigsten in Windows durchführen, und Sie werden überrascht sein, wie viel Zeit Sie sparen, indem Sie nicht mehr für das kleine X drehen müssen. Mit einer 5-Tasten-Maus finde ich das a sehr nützliche Neuzuweisung der Schaltfläche "Weiterleiten".

#IfWinActive ;Close active window when mouse button 5 is pressed 
    XButton2:: 
    SendInput {Alt Down}{F4}{Alt Up} 
    Return 
#IfWinActive 

berücksichtigt Programme zu nehmen, die Tabbed-Dokumente verwenden (wie Web-Browser), hier ist eine umfangreichere Version:

;----------------------------------------------------------------------------- 
; Bind Mouse Button 5 to Close Tab/Close Window command 
;----------------------------------------------------------------------------- 

; Create a group to hold windows which will use Ctrl+F4 instead of Alt+F4 
GroupAdd, CtrlCloseGroup, ahk_class IEFrame    ; Internet Explorer 
GroupAdd, CtrlCloseGroup, ahk_class Chrome_WidgetWin_0 ; Google Chrome 
; (Add more programs that use tabbed documents here) 
Return 

; For windows in above group, bind mouse button to Ctrl+F4 
#IfWinActive, ahk_group CtrlCloseGroup 
    XButton2:: 
    SendInput {Ctrl Down}{F4}{Ctrl Up} 
    Return 
#IfWinActive 

; For everything else, bind mouse button to Alt+F4 
#IfWinActive 
    XButton2:: 
    SendInput {Alt Down}{F4}{Alt Up} 
    Return 
#IfWinActive 

; In FireFox, bind to Ctrl+W instead, so that the close command also works 
; on the Downloads window. 
#IfWinActive, ahk_class MozillaUIWindowClass 
    XButton2:: 
    SendInput {Ctrl Down}w{Ctrl Up} 
    Return 
#IfWinActive 

Visual Studio 2010 kann auf die CtrlCloseGroup oben nicht leicht hinzugefügt werden, wie Es ist Fenster Klasse/Titel sind nicht leicht vorhersehbar (denke ich). Hier ist das Snippet ich es zu handhaben verwenden, einschließlich ein paar zusätzlichen hilfreichen Bindungen:

SetTitleMatchMode, 2 ; Move this line to the top of your script 

;----------------------------------------------------------------------------- 
; Visual Studio 2010 
;----------------------------------------------------------------------------- 

#IfWinActive, Microsoft Visual Studio 

    ; Make the middle mouse button jump to the definition of any token 
    MButton:: 
    Click Left ; put the cursor where you clicked 
    Send {Shift Down}{F2}{Shift Up} 
    Return 

    ; Make the Back button on the mouse jump you back to the previous area 
    ; of code you were working on. 
    XButton1:: 
    Send {Ctrl Down}{Shift Down}{F2}{Shift Up}{Ctrl Up} 
    Return 

    ; Bind the Forward button to close the current tab 
    XButton2:: 
    SendInput {Ctrl Down}{F4}{Ctrl Up} 
    Return 

#IfWinActive 

Ich finde auch nützlich es in Outlook kartieren ALT + 1, ALT + 2 usw. zu Makros Ich schrieb, die die derzeit bewegen ausgewählte Nachricht (en) an bestimmte Ordner (z. B. "Personal Filed", "Work Filed", usw.), aber das ist ein bisschen komplizierter.

7

Hier ist so einfach, aber nützlich Skript:

^SPACE:: Winset, Alwaysontop, , A 

Verwenden Strg + Leertaste alle Fenster immer oben gesetzt.

2

Ein Problem beheben, wenn die Datei auf FTP-Server kopieren, wenn das „Kopieren“ erscheint auf den „Ersetzen von Dateien bestätigen“ -Dialog (sehr ärgerlich):

SetTimer, FocusOnWindow, 500 
return 

FocusOnWindow: 
IfWinExist, Confirm File Replace 
    WinActivate 
return 

One den nutzlosen Caps-Lock zu deaktivieren Schlüssel:

Capslock:: 
return 

STRG + Shift + c Farbe unter Cursor in die Zwischenablage (hexadezimal) kopiert

^+c:: 
MouseGetPos,x,y 
PixelGetColor,rgb,x,y,RGB 
StringTrimLeft,rgb,rgb,2 
Clipboard=%rgb% 
Return 
Schreiben 0

Ihre E-Mail-Adresse im aktiven Feld (Windows-Taste + m)

#m:: 
Send, [email protected]{LWINUP} 
Sleep, 100 
Send, {TAB} 
return