aboutsummaryrefslogtreecommitdiff
path: root/test/self/OUT=test.txt
blob: edef5c2ffc05cb8b79a31bc8c864450020f294e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
test

;; -> init

ShellApp := ComObjCreate("Shell.Application")
GroupAdd, Explorer, ahk_class CabinetWClass
GroupAdd, Explorer, ahk_class ExploreWClass

;; -> library

Explorer(hwnd := "")
{
  global ShellApp
  if (hwnd = "")
    WinGet, hwnd, id, A
  for window in ShellApp.Windows
    if (window.hwnd = hwnd)
      return window
  return -1
}

;; -> body

#IfWinActive ahk_group Explorer

^n::Run, % "explorer /n,""" Explorer().Document.Folder.Self.path """"
^p::Run, % "cmd /k cd /d """ Explorer().Document.Folder.Self.path """"

+^p::
path := Explorer().Document.Folder.Self.path
Run, % "C:\Documents and Settings\All Users\Start Menu\Programs\Microsoft Visual Studio 2010 Express\Visual Studio Command Prompt (2010).lnk"
WinWait, ahk_class ConsoleWindowClass
SendInput, % "cd " path "{Return}"
return

LAlt & Up::
RAlt & Up::
e := Explorer()
path := e.Document.Folder.Self.path
if (InStr(path, "::{") = 1)
  return
slash := InStr(path, "\", 0, 0)
if (slash = StrLen(path))
  slash := InStr(path, "\", 0, 0, 2)
if (slash = 0)
  parent = ::{20D04FE0-3AEA-1069-A2D8-08002B30309D} ; My Computer
else
  parent := SubStr(path, 1, slash)
e.Navigate(parent)
return

LAlt & Down::
RAlt & Down::
path := Explorer().Document.Folder.Self.path
if (InStr(path, "::{") = 1)
  return
Explorer().Navigate(path) ; go to real path of folder
return

^+n::
FileCreateDir, % Explorer().Document.Folder.Self.path "\New Folder"
SendInput, {F5}New Folder{F2}
return

^!n::
FileAppend,, % Explorer().Document.Folder.Self.path "\New Text Document.txt"
SendInput, {F5}New Text Document.txt{F2}
return

^h::
SSF_SHOWALLOBJECTS := 0x0001
VarSetCapacity(SHELLSTATE, 32, 0)
DllCall("Shell32\SHGetSetSettings", "Ptr", &SHELLSTATE, "UInt", SSF_SHOWALLOBJECTS, "Int", false)
NumPut(NumGet(SHELLSTATE) ^ (1 << 0), SHELLSTATE,, "Int")
DllCall("Shell32\SHGetSetSettings", "Ptr", &SHELLSTATE, "UInt", SSF_SHOWALLOBJECTS, "Int", true)
WinGet, win, List, ahk_group Explorer
Loop, % win
  PostMessage, 0x111, 41504,,, % "ahk_id " win%A_Index% ; refresh
return

^q::PostMessage, 0x111, 30210, 0,, A ; sort by name
^w::PostMessage, 0x111, 30213, 0,, A ; sort by modified
^e::PostMessage, 0x111, 30212, 0,, A ; sort by type
^t::PostMessage, 0x111, 30214, 0,, A ; sort by created
^g::PostMessage, 0x111, 30209, 0,, A ; show in groups
^s::PostMessage, 0x111, 28717, 0,, A ; thumbnails
^d::PostMessage, 0x111, 28713, 0,, A ; icons
^i::PostMessage, 0x111, 28718, 0,, A ; tiles
^l::PostMessage, 0x111, 28715, 0,, A ; list
^f::PostMessage, 0x111, 28716, 0,, A ; details

#IfWinActive

;; -> .copy

test