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
| TrueCryptPfad = C:\Programme\TrueCrypt\TrueCrypt.exe
OnMessage(0x219, "notify_change")
DriveGet, dlist, list, REMOVABLE
Return
notify_change(wParam, lParam, msg, hwnd)
{
SetTimer, CheckUSBDrives, -1000
}
CheckUSBDrives:
count = 0
DriveGet, nlist, list, REMOVABLE
Loop Parse, nlist
IfNotInString, dlist, %a_LoopField%
{
; es wird unterstellt, dass sich die tc-Files im Root-VZ befinden
Loop, %a_LoopField%:\*.tc, 0, 0
{
MsgBox, 4, , Soll der Container %A_LoopFileFullPath% gemountet werden?
IfMsgBox, Yes
{
GanzerPfad = %A_LoopFileFullPath%
SplitPath, GanzerPfad, ContainerName
if count = 0
{
RunWait, %TrueCryptPfad% /q /v %A_LoopFileFullPath% /l I
Menu, tray, add, Container %ContainerName% von Laufwerk I trennen, DismountMenuI
TrayTip , TrueCrypt Container, Container %ContainerName% auf Laufwerk I:\ gemountet, 3, 1
}
if count = 1
{
RunWait, %TrueCryptPfad% /q /v %A_LoopFileFullPath% /l J
Menu, tray, add, Container %ContainerName% von Laufwerk J:\ trennen, DismountMenuJ
TrayTip , TrueCrypt Container, Container %ContainerName% auf Laufwerk J:\ gemountet, 3, 1
}
if count = 2
{
RunWait, %TrueCryptPfad% /q /v %A_LoopFileFullPath% /l K
Menu, tray, add, Container %ContainerName% von Laufwerk K:\ trennen, DismountMenuK
TrayTip , TrueCrypt Container, Container %ContainerName% auf Laufwerk K:\ gemountet, 3, 1
}
count +=1
;Menu, tray, add, %A_LoopFileFullPath% trennen, DismountMenu
}
}
dlist := nlist
}
Menu, tray, add, Alle Laufwerke trennen, DismountAllMenu
return
DismountMenuI:
IfExist, I:\
RunWait, %TrueCryptPfad% /q /d I
return
DismountMenuJ:
IfExist, J:\
RunWait, %TrueCryptPfad% /q /d J
return
DismountMenuK:
IfExist, K:\
RunWait, %TrueCryptPfad% /q /d K
return
DismountAllMenu:
RunWait, %TrueCryptPfad% /q /d
TrayTip , TrueCrypt Container, Alle Container abgemeldet, 3, 1
return |