-
Notifications
You must be signed in to change notification settings - Fork 0
/
SchnellOrdner.ahk
23788 lines (23256 loc) · 1.6 MB
/
SchnellOrdner.ahk
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
ZZO_Version:="0.669" ; ZZO_LastVersionItem
SetWorkingDir %A_ScriptDir%
; #Warn
#Warn, LocalSameAsGlobal, Off
#InstallKeybdHook
#InstallMouseHook
#UseHook
#InputLevel ,100
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
;~ #Warn ; Recommended for catching common errors.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
#MaxMem 256
global ViaTimerKenner,ViaTimerKennerLen,ViaTimerTargetLabel,GetObjectDetails_Vorfahren,A_SystemDrive,A_USERPROFILE,A_Homedir,
; SetControlDelay -1 ; verhindert das festkleben von Selektionen am Mauszeiger.
WinClose,ahk_exe TastWatch.exe
;Include the language ; https://autohotkey.com/boards/viewtopic.php?f=10&t=32363
; FileEncoding,UTF-16
; #include *i C:\Program Files (x86)\ZackZackOrdner\language\language.ahk ; benotigt https://github.com/bichlepa/lang
#include *i language\language.ahk ; benotigt https://github.com/bichlepa/lang
; #Include *i Object to file\objtostring.ahk
;call the initialization routine
lang_init()
if(A_DebuggerName="")
MouseMoveKenner:=0x200
else
MouseMoveKenner:=
OnMessage(MouseMoveKenner, "WM_MOUSEMOVE")
OnMessage(0x111, "WM_COMMAND")
; lang_setLanguage("2") ; 2 for English only Main-Menu 1 fuer deutsch
; ObjetDetails :=true
ObjetDetails :=false
if ObjetDetails
MsgBox % GetObjectDetails(_language)
; < ######################################### Inhalts-Verzeichnis ############################################ > @0010
; Haupt-Programmm
;{ ; Tipp: [Win] + [b] Aktivierung ######################################################################
; Wenn mal schnell ein Pfad benoetigt wird (z.B. im Explorer)
; kann die Stelle an welcher der Pfad eingefuegt werden soll mit der Maus angeklickt werden
; und danach die Tastenkombination [Win] + [b] gedrueckt werden.
; nun versucht ZZO das Beste aus den vorhandenen Informationen zu machen:
; meist erscheint nun ein Pfad-Wahl-Menue.
; Je nach getroffener Wahl (z.B. Ordner oder Datei) wird wiederum versucht das Beste daraus zu machen.
; Die [Win] + [b] Aktivierung kann bei gut gepflegten Favoriten die 80%-Aufgabe loesen, gestartet vorzugsweise in aktiven Explorer-Fenstern bzw. in Speichern Unter Dialogen.
; [Win] ist die Taste ueblicherweise zwischen [Strg] und [Alt] liegt
; (AutoHotKey Schreibweise #b oder {LWin Down}b{LWin Up}).
;}
;{ ; Tipps zum Quelltext
; Der hier vorliegende Quelltext enthaelt auch den Quelltext der eigenstaendigen Skripte
; Dir2Paths.ahk siehe Label: BereiteVorDir2Paths
; TastWatch.ahk siehe Label: VarTastWatcherzeugen
; Ersteres wird bei Bedarf aus mindestens einem Start-Pfad die zugehörigen Cache-Dateien erstellen.
; Es wird von ZZO aus der Variablen
; Dir2Paths
; erstellt und mit dem Cache-Verzeichnis sowie den Start-Pfaden als Ueberabeparameter gestartet.
; Zweiteres wird von ZZO aus der Variablen
; TastWatch
; erstellt und gestartet. Es haendelt den Ordner-Button und bei Bedarf vermittelt es die Befehlseingabe ins ZZO-Programm.
; Dieser Quelltext ist durch seine Laenge unuebersichtlich.
; Es gibt jedoch Hilfsmittel, mit denen man besser zurecht kommt.
; Der Quelltext wurde optimiert fuer den Editor Scite4Autohotey.
; Nach dem Laden des Quelltextes empfehle ich vom SciteMenue | View | Toggle all folds durchzufuehren.
; Es wurden dafuer ganz viele ;{ und ;} in den Quelltext eingefuegt.
; Dadurch entstehen in Scite Einklapp-Bereiche die fast frei waehlbar sind.
; AutoHotKey behandelt diese jeweils 2 Zeichen und den Text rechts davon als Kommentar.
; Weiterhin bringt dieses Skript selbst einige nuetzliche Hilfen mit:
; - Der Quelltext laesst sich mit ZZO-Menue | ? | Quelltext anzeigen lesend oeffnen.
; Durch die Eingabe eines Suchbegriffs ganz rechts im Eingabefeld,
; werden nur noch Zeilen angezeigt, die den Suchbegriff enthalten.
; z.B. "Suchbegriff enthalten" eingegeben sollte mindestens diese Zeile und die darueber anzeigen.
; bei meinem Test soeben wurde noch die Zeile 12481 mit angezeigt.
; Ein Doppelklick darauf oefffnet Scite mit der sichtbaren Zeile 12481
; in der die Text-Stelle "Suchbegriff enthalten" markiert ist. Achtung hier ist schreiben moeglich.
; Nun weiss ich auch dass diese Wortwahl auch in den Versionsinformationen vewendet wurde.
; - Die Menue-Eintraege unterhalb von Quelltext anzeigen sind letzendlich nur
; die gleiche Funktion "Quelltext anzeigen"
; mit Vorausgefuellten Suchbegriffen.
; Wer tiefer eindringen moechte, dem sei die
; Grundsätzliche Arbeitsweise des ZZO-Fensters
; aus der Hilfe Menue | ? | Hilfe genau zu lesen empfohlen.
; Wichtig ist noch, dass die Funktion GetPaths() die
; relevanten Pfade des Caches
; besorgt.
; Einzel-Tipps:
; Die benutzten Events findet man via Menu | ? | InhaltsVerzeichnis anzeigen Doppelklick auf E v e n t s
; Den ersten Hauptmenue-Eintrag findet man mit dem Suchbegriff: Menu | Datei | Reload
; Das zugehoerige Label findet man durch auflappen von ; Menu | Datei | Reload
;}
;{ Programmierer- Notizen
; umstellen auf:
; FilP://%MusterDirPath%\*%DateiOrdnerNamensMuster1%*,%DFR%%Vorzeichen%%In_Row? %NachFilter1%
; MusterDirPath:="C:\Program Files (x86)\ZackZackOrdner",DateiOrdnerNamensMuster1:="Gerd",DFR:="DF",Vorzeichen:="+",NachFilter1:=""
; welches Programm startet PathWith.Ext
; DiesesProgHwnd := OpenAndGetHwnd("PathWith.Ext")
; z.B. bei F8 aufrufen
;
; Allgemeine Live-Suche in Planung
; MacroDoFile EvalVars Anzeige von bzw. wie
; . . .
; MacD:// ... EvlVar? ... In_Inh? ...
; MacD:// ... EvlVar? ... In_Row? ...
; MacD:// ... EvlVar? ... Nr_Row? ...
; MacroDoPath
; MacroDoVar
; LeereMenge
; Edit5= ... %Var1% ... %Var2% ...
; Suchbegriff
; text://WTitle? ahk_id %VarContainsHwnd% Contro? %VarContainsClassNN% Nr_Row?
; file://C:\Program Files (x86)\ZackZackOrdner\SchnellOrdner[0.422].ahk Nr_Row? Suchbegriff[-2,+3]
; Suchbegriff[-2,+3] bedeutet die Fundzeile inclusive die 2 davor und die 3 danach anzeigen.
; [1,1] wuerde nur die Folgezeile zeigen. [0,0] ist wie ohne klammer.
; file://C:\Program Files (x86)\ZackZackOrdner\SchnellOrdner[0.422].ahk Nr_Row?[-2,+3] Suchbegriff Nr_Row?[+2,+3] Suchbegriff2 unterstuetzen.
; Anzeige-Range [von,bis]
; Suchbegriff zur Ermittlung der Basis-Zeile
; Range relativ zur Basiszeilen dem Suchbegriff2 gefunden werden muss
; ToDo:Pfad-Wahl letzter Eintrag ... wenn mehr Fundstellen vorhanden. Klick drauf zeigt die naechsten N an.
; ToDo: Dos Befehl ftype in Verbindung mit assoc ansehen. Welche Dateiendung wird mit welchem Programm gestartet
; Fehler: geoffnetes ExplorerFenster in dem eine Suche aktiv ist mit Doppelklick nicht aktivierbar
; RePro: Im Explorer CabinetWClass eine Suche via DirectUIHWND1 starten. Dieses Fenster in ZZO via Vor-Filter 99 anzeigen lassen. DoppelKlick auf dessen Pfadeintrag. Das Explorer-Fenster sollte aktiv werden
; ToDo: geoffnetes ExplorerFenster in dem eine Suche aktiv ist mit Doppelklick aktivierbar machen, gegebenfalls sprechendere Bezeichner verwenden!
; gosub mFMenu
; C:\Users\All Users\Zack \ Diese Ordner sind identisch ToDo: Cache rausholen aus Doppelt vorhandenen Stellen vermutlich steckt ein Junction Point im NTFS sytem dahinter
; C:\ProgramData\Zack / Diese Ordner sind identisch
; #Include C:\Program Files (x86)\ZackZackOrdner\Hilfsprogramme\DebugVars.ahk-master\lib\dbgp.ahk
; #Include C:\Program Files (x86)\ZackZackOrdner\Hilfsprogramme\DebugVars.ahk-master\lib\dbgp_console.ahk
; #Include C:\Program Files (x86)\ZackZackOrdner\Hilfsprogramme\DebugVars.ahk-master\TreeListView.ahk
;}
;{ ; < ######################################### Anfangs-Kommentare ######################################## > @0020
; Das Skript wurde geschrieben um schnell mit Ordnern umzugehen
; Ordner von Download:
; https://github.com/Grrdi/ZackZackOrdner/archive/master.zip
; auspacken
; und
; SchnellOrdner.ahk
; starten.
; Beim Erststart sollte das Skript zum anlegen des Containers
; Haupt
; auffordern.
; Ja
; Dito Startpfad
; Die nun einzugebende Wurzel ist der Start-Pfad in dem anschlissend rekursiv Schnell Ordner gefunden werden koennen.
; Das Einlesen erfolgt in einem eigenen Prozess (suchen ist schon waehrend des Einlesens moeglich)
; Ubers Menue koennen weitere Start-Pfade eingelesen werden.
; Ueber das Feld
; Ordner-Namen-Suche
; werden die angezeigten Ordner gefiltert
; Aktionen werden mit den obigen Buttons eingeleitet.
; Menue | ? | Hilfe
; erzeugt eine auf die Umgebung zugeschnittene Hilfe und oeffnet sie
;} ; < / ######################################## Anfangs-Kommentare ######################################## >
;{ Direktiven
#SingleInstance off
; #SingleInstance
#NoEnv
#Persistent
;}
/*
Life Suche Beispiele:
FilP://%SkriptDataPath%\Wurzel*.txt*,F in_inh? \ Zeigt die StartPfade des aktuellen Containers
*/
; ; ; < ###################################### H a u p t - P r o g r a m m ############################### > @0100
; SuperGlobal Vars
global EvalButton1Only:=false, InitiatorButton1:=false
OnExit GuiClose
if 0 = %0%
{
Ue:={}
Loop, %0%
Ue[A_index]:=%A_Index%
; Ue.Push([]):=%A_Index%
; Ue.Push([%A_Index%])
; Ue.Push([A_Index]:[%A_Index%])
if ObjetDetails
MsgBox % GetObjectDetails(Ue,"Ue") Ue.MaxIndex()
}
; Ue1=%1%
;{ < ########################################## Konstanten ######################################## > @0110
DebugViaBeschLog:=false ; Default -> false
EnvGet,A_SystemDrive,SystemDrive
EnvGet,A_USERPROFILE,USERPROFILE
EnvGet,Temp2,HOMEPath
EnvGet,Temp1,HOMEDRIVE
A_HomeDir:=Temp1 Temp2
A_AppData_100:=FuelleMitLeerzeichenBisSpalte("A_AppData")
A_AppDataCommon_100:=FuelleMitLeerzeichenBisSpalte("A_AppDataCommon")
A_MyDocuments_100:=FuelleMitLeerzeichenBisSpalte("A_MyDocuments")
A_ProgramFiles_100:=FuelleMitLeerzeichenBisSpalte("A_ProgramFiles")
A_Programs_100:=FuelleMitLeerzeichenBisSpalte("A_Programs")
A_ProgramsCommon_100:=FuelleMitLeerzeichenBisSpalte("A_ProgramsCommon")
A_Temp_100:=FuelleMitLeerzeichenBisSpalte("A_Temp")
A_WinDir_100:=FuelleMitLeerzeichenBisSpalte("A_WinDir")
A_WorkingDir_100:=FuelleMitLeerzeichenBisSpalte("A_WorkingDir")
A_SystemDrive_100:=FuelleMitLeerzeichenBisSpalte("A_SystemDrive")
A_HomeDir_100:=FuelleMitLeerzeichenBisSpalte("A_HomeDir")
if (DebugViaBeschLog="")
DebugViaBeschLog:=false
DebugViaBeschPath:= A_ScriptDir "\" A_UserName "_" A_ComputerName "_DebugBesch.log"
if DebugViaBeschLog
{
IfExist,%DebugViaBeschPath%
{
FileDelete, %DebugViaBeschPath%
if ErrorLevel
MsgBox Konnte alten Log %DebugViaBeschPath% nicht loeschen!`r`nErwarte auch Schreib-Probleme.
}
}
IeBildExtList:="bmp,cur,ico,jpg,jpeg,gif,png,tif,tiff,svg,wmf,xar" ; Fehl: ,eps,gem,img,odg,pgm,ps,psd,swf,xaml,xcf
GetGlobalVarAndValueList=Cont`%AktContainerNr`%,Edit2,Edit3,Edit5,Edit8,Edit11,Edit12
Neutr_LM:="Ø" ; (Leere Menge) Zeichen verhaelt sich bei der Live-Suche neutral
Neutr_US:="¯" ; (Upper Score) Zeichen verhaelt sich bei der Live-Suche neutral
Neutr_Ca:="⁞" ; (Caret) Zeichen verhaelt sich bei der Live-Suche neutral
N_PHL:= Neutr_LM Neutr_US ; Neutraler Platz Halter Links
N_PHR:= Neutr_US Neutr_LM ; Neutraler Platz Halter Rechts
N_PH:= N_PHL N_PHR ; Neutraler Platz Halter
N_PHC:= N_PHL Neutr_Ca N_PHR ; Neutraler Platz Halter mit Caret
N_PPH:=Neutr_LM N_PH Neutr_LM ; Bevorzugter Neutraler Platz Halter
N_PPHC:=Neutr_LM N_PHC Neutr_LM ; Bevorzugter Neutraler Platz Halter mit Caret
NICHT:="¬"
VTab:="`v"
CR=`r
LF=`n
CRLF:=CR LF
Backslash=\
DotOverDot:=":"
PfRe:="→"
ReturnChar:="⏎"
Hochkomma="
Prozent=`%
GetObjectDetails_KKA:="["
GetObjectDetails_KKZ:="]"
GetObjectDetails_VKA:="["""
GetObjectDetails_VKZ:="""]"
ExSelRec:=false
GrEdit11Default:=2
NotWordDefault = $Recycle.Bin,!Fav,$$$,WuCont
; MenuKurzTasten:=true ; fuer Hauptmenue-Bedinung per [ALt]+[a] oder [ALt]+[b] ...]
GuiNachHochfahrenMinimierenDefault:=0
GuiAnzeigeFortgeschrittenDefault:=0
NurInExistierendenStartPfadenSuchen:=1
NurInExistierendenStartPfadenSuchenDefault:=1
NotShowExistIeAndExplorerWin:=0
NotShowExistIeAndExplorerWinDefault:=0
ExpAutoSterne=* ; Auto-Favoriten-Sterne geoeffneter Explorefenster
StartUrlDefault:=
Edit1Default:=
Edit11efault:=
Edit3Default:=1
Edit4Default:="Befehlsentgegennahme"
Edit5Default:=
Edit6Default:="25"
Edit7Default:="Filter"
Edit8Default:=
Edit9Default:=4
Edit10Default:="Zusatz"
GrossKleinDefault:=false ; true GrossKleinschreibung wird bei der Suche unterschieden
RegExBeratungsFormularHoehe:=365
RegExBeratungsFormularBreite:=840
WiWaDefault:=0
OnTopDefault:=0
IeAnzDefault:=0
RekurDefault:=1 ; StartPfade werden mit Unterordnern eingelesen
MinDefault:=0
AktDefault:=1
AuAbDefault:=0
RegExDefault:=0
SuFiDefault:=0
ExpSelDefault:=0
SeEnDefault:=0
SrLiDefault:=1
BsAnDefault:=1
WoAnDefault:=0
WortVorschlaegeDefault:=1
beschaeftigtDefault:=0
MausGuenstigPositionierenDefault:=0
PfadFilterAutomatikAus:=true ; aus also auf true lassen, vertraegt sich nicht mit der Neuen-Live-Suche
ProtokollKenner:="://"
ProtokollKennerLen:=StrLen(ProtokollKenner)
HelpQuellKenner:="Help://"
HelpQuellKennerLen:=StrLen(HelpQuellKenner)
HelpKenner:="Help?" ; reserviert fuer Kombination von Kenner drueber und Kenner drunter
HelpKennerLen:=StrLen(HelpKenner)
HelpZuKenner:="LiHelp?"
HelpZuKennerLen:=StrLen(HelpZuKenner)
NrInhaltKenner:="Nr_Inh?"
NrInhaltKennerLen:=StrLen(NrInhaltKenner)
InInhaltKenner:="In_Inh?"
InInhaltQuelleKenner:="InInhQ?"
InInhaltQuelleKennerLen:=StrLen(InInhaltQuelleKenner)
InInhaltKennerNotShowPath:="in_inh?"
InInhaltKennerLen:=StrLen(InInhaltKenner)
InRowKenner:="In_Row?"
InRowKennerLen:=StrLen(InRowKenner)
NrRowKenner:="Nr_Row?"
NrRowKennerLen:=StrLen(InRowKenner)
2ZeilenInhaltKenner:="2Z_Inh?" ; FilP://C:\Users\Gerd\AppData\Local\Temp\Clip\**,DFR2Z_Inh?
2ZeilenInhaltKennerLen:=StrLen(2ZeilenInhaltKenner)
NrRexKenner:="NrRRex?"
NrRexKennerLen:=StrLen(NrRexKenner)
InNameKenner:="InName?"
InNameKennerLen:=StrLen(InNameKenner)
WinTitleKenner:="WTitle?"
WinTitleKennerLen:=StrLen(WinTitleKenner)
ContainerKenner:="Cont://"
ContainerKennerLen:=StrLen(ContainerKenner)
HwndTextKenner:="HwndT://"
HwndTextKennerLen:=StrLen(HwndTextKenner)
ControlKenner:="Contro?"
ControlKennerLen:=StrLen(ControlKenner)
MacroAufuehrenKenner:="MacrDo?"
MacroAufuehrenKennerLen:=StrLen(MacroAufuehrenKenner)
ControlTextKenner:="CoTe://"
ControlTextKennerLen:=StrLen(ControlTextKenner)
FileKenner:="file://"
FileKennerLen:=StrLen(FileKenner)
FileE5WriteKenner:="fileE5Write?"
FileE5WriteKennerLen:=StrLen(FileE5WriteKenner)
ClipKenner:="clip://"
ClipKennerLen:=StrLen(ClipKenner)
ClipE5WriteKenner:="clipE5Write?"
ClipE5WriteKennerLen:=StrLen(ClipE5WriteKenner)
IeExistKenner:="IeEx://"
IeExistKennerLen:=StrLen(IeExistKenner)
WinMgmtsKenner:="WiMg://"
WinMgmtsKennerLen:=StrLen(WinMgmtsKenner)
FilePatternKenner=FilP://
FilePatternKennerLen:=StrLen(FilePatternKenner)
HTTPSKenner=HTTPS://
HTTPKenner=HTTP://
HTTPKennerLen:=StrLen(HTTPKenner)
HTTPSKennerLen:=StrLen(HTTPSKenner)
SortKenner:="Sort?"
SortKennerLen:=StrLen(SortKenner)
LoopKenner:="Loop?"
LoopKennerLen:=StrLen(LoopKenner)
ViaTimerKenner:="ViaTimer_"
ViaTimerKennerLen:=StrLen(ViaTimerKenner)
OnEventKenner:="OnEvent?"
OnEventKennerLen:=StrLen(OnEventKenner)
ExplorerSelectedKenner:="ExSel://"
ExplorerSelectedKennerLen:=StrLen(ExplorerSelectedKenner)
WinTextKenner:="WinText?"
WinTextKennerLen:=StrLen(WinTextKenner)
2HtmlKenner:="2_HTML?"
2HtmlKennerLen:=StrLen(2HtmlKenner)
AlleInfosKenner:="AllInfo?"
AlleInfosKennerLen:=StrLen(AlleInfosKenner)
MirrorEdit5Kenner:="Mirr05?"
MirrorEdit5KennerLen:=StrLen(MirrorEdit5Kenner)
MirrorEdit8Kenner:="Mirr08?"
MirrorEdit8KennerLen:=StrLen(MirrorEdit8Kenner)
WitchWindowDefKenner:="WWinDef?" ; WWinDef? Fenstertitel,Fenstertext,Titelausnahme,Textausnahme
WitchWindowDefKennerLen:=StrLen(WitchWindowDefKenner)
WitchControlDefKenner:="WConDef?" ; WConDef? Control,Fenstertitel,Fenstertext,Titelausnahme,Textausnahme
WitchControlDefKennerLen:=StrLen(WitchControlDefKenner)
HtmlDiaShowKenner:="HtmDiaShow?"
HtmlDiaShowKennerLen:=StrLen(HtmlDiaShowKenner)
HtmlPathesBilderuebersichtKenner:="HtmPicView?"
HtmlPathesBilderuebersichtKennerLen:=StrLen(HtmlPathesBilderuebersichtKenner)
HtmlPathesOutKenner:="HtmPat?"
HtmlPathesOutKennerLen:=StrLen(HtmlPathesOutKenner)
WinAnWinKenner:="WinAnWin?"
WinAnWinKennerLen:=StrLen(WinAnWinKenner)
WinOverWinKEnner:="WinOverWin?"
WinOverWinKEnnerLen:=StrLen(WinOverWinKEnner)
OldDelNewKenner:="OldDelNew?"
VLen:=StrLen(OldDelNewKenner)
NegierBareKenner=
(
NrInhaltKenner
InInhaltKenner
InInhaltQuelleKenner
InRowKenner
NrRowKenner
NrRexKenner
InNameKenner
2ZeilenInhaltKenner
)
Loop,Parse,NegierBareKenner,`n,`r
{
MinusKennerKommaListe .= "-" . %A_LoopField% ","
}
StringTrimRight,MinusKennerKommaListe,MinusKennerKommaListe,1
StringReplace,PlusKennerKommaListe,MinusKennerKommaListe,-,+,All
FuellLeerzeichen0:=""
FuellLeerzeichen1:="ᵕ"
FuellLeerzeichen2:="ᵕᵕ"
FuellLeerzeichen3:="ᵕᵕᵕ"
FuellLeerzeichen4:="ᵕᵕᵕᵕ"
FuellLeerzeichen5:="ᵕᵕᵕᵕᵕ"
FuellLeerzeichen6:="ᵕᵕᵕᵕᵕᵕ"
FuellLeerzeichen7:="ᵕᵕᵕᵕᵕᵕᵕ"
FuellLeerzeichen8:="ᵕᵕᵕᵕᵕᵕᵕᵕ"
FuellLeerzeichen9:="ᵕᵕᵕᵕᵕᵕᵕᵕᵕ"
FuellLeerzeichen10:="ᵕᵕᵕᵕᵕᵕᵕᵕᵕᵕ"
HalbOunten:="ᵕ"
StrukturenOrdnerPfad:=A_ScriptDir "\Strukturen"
NotWordPath=%A_AppData%\Zack\NotWordList.txt
; <ermittelt SystemVariablen>
EnvGet,SystemLaufwerk,SystemDrive
; <ermittelt ausfuehrbare DateiEndungen>
MacroDir:=A_AppData "\Zack\Macro"
MacroTimerOrEventStartedDir:=MacroDir "\TimerOrEventStarted"
; siehe Label: QuelltextObjektZeilen2Edit5
; file://%A_ScriptFullPath% Nr_Row? %SuchStringFuerObjektAnzeige%
; Folgender String muesste noch Verbesserungspotential haben
IstObjektWenn=.InsertAt(,.MaxIndex(,.RemoveAt(,.Push(,.Pop(,.Delete(,.MinIndex(,Length(,.SetCapacity(,.GetCapacity(,.GetAddress(,._NewEnum(,.HasKey(,.Clone(,ObjRawSet(,.Insert(,.Remove(,IsObject(,For ,[{}]
SuchStringFuerObjektAnzeige=
(
%IstObjektWenn%,{,[,(
%IstObjektWenn%,},],)
%IstObjektWenn%,:=,{},.
%IstObjektWenn%,:=,{},,,
%IstObjektWenn%,{,},[,],.
%IstObjektWenn%,{,},[,],,,
)
EnvGet,AusfuehrbareDotExtListe,Pathext
StringReplace,AusfuehrbareDotExtListe,AusfuehrbareDotExtListe,`;,`,,All
StringReplace,AusfuehrbareExtListe,AusfuehrbareDotExtListe,.,,All
IfNotExist %A_AppDataCommon%\Zack
FileCreateDir, %A_AppDataCommon%\Zack ; Pfad fuer UnterSkripte Icons etc. und den Cache
ExternalToolTipPath:=A_AppDataCommon "\Zack\ExternalTooltip.ahk"
; </ermittelt ausfuehrbare DateiEndungen> ; die 2 Komma-getrennten Listen sind noch ohne Weiter-Verwendung.
; </ermittelt SystemVariablen>
; < / ######################################### Konstanten ######################################## >
;}
;{ ############################################ vor Gui ###########################################
ExternalTooltip=
(
#SingleInstance off
Ue0=`%0`%
if not Ue0
ExitApp
Ue1=`%1`%
if (Ue1="")
ExitApp
Ue2=`%2`%
Ue3=`%3`%
Kord=`%4`%
CoordMode, ToolTip,`%Kord`%
Dauer=`%5`%
if (Dauer="")
Dauer:=2500+StrLen(Ue1)*45
if (Ue2="FolgtMaus")
FolgtMaus:=true
else
{
if (Ue2<>"")
x:=Ue2
if (Ue3<>"")
y:=Ue3
}
if Not FolgtMaus
ToolTip,`%Ue1`%,x,y
Last_TickCount:=A_TickCount
loop, 1000
{
if((A_TickCount - Last_TickCount) > Dauer)
break
if FolgtMaus
ToolTip,`%Ue1`%,x,y
Sleep 9
if(GetKeyState("ESc"))
break
}
ExitApp
)
FileDelete %ExternalToolTipPath%
FileAppend ,%ExternalTooltip%,%ExternalToolTipPath%,utf-16
; Sleep 3000
RunOtherAhkScriptOrExe(ExternalToolTipPath,"Tooltip Test")
IfExist %A_ScriptDir%\ScitePath.txt
FileRead,ScitePath,%A_ScriptDir%\ScitePath.txt ; Pfad zu Scite4AHK fuer Quelltexte
IfExist %A_ScriptDir%\NotepadPlusPlusPfad.txt
FileRead,NotepadPlusPlusPfad,%A_ScriptDir%\NotepadPlusPlusPfad.txt ; Pfad zu NotepadPlusPlusPfad fuer Variablenvergleiche
AutoFavorit:=0
AnzeigeNichtAktualisieren:=false
if (GrossKlein="")
GrossKlein:=GrossKleinDefault
if GrossKlein
StringCaseSense, On
else
StringCaseSense, Off
GrEdit2:=GrEdit11Default
NotWord := NotWordDefault
; if(A_ScreenDPI<>96)
DpiKorrektur:=A_ScreenDPI/96
MausGuenstigPositionieren:=MausGuenstigPositionierenDefault
GuiAnzeigeFortgeschritten:=GuiAnzeigeFortgeschrittenDefault
if(MenuKurzTasten="")
{
if GuiAnzeigeFortgeschritten
MenuKurzTasten:=true
else
MenuKurzTasten:=false
}
StringReplace,ZumSpeichernThisAufmerksamkeitText,ThisAufmerksamkeitText,`r`n,`%CRLF`%,All
StringReplace,ZumSpeichernThisAufmerksamkeitText,ZumSpeichernThisAufmerksamkeitText,`n,`%LF`%,All
StringReplace,ZumSpeichernThisAufmerksamkeitText,ZumSpeichernThisAufmerksamkeitText,`r,`%CR`%,All
; < Hilfe einlesen Individueller Button>
IfExist %A_ScriptDir%\Button6.htm
{
FileRead,Button6HtmInhalt,%A_ScriptDir%\Button6.htm
if ErrorLevel
MsgBox %A_ScriptDir%\Button6.htm
}
; </ Hilfe einlesen Individueller Button>
if (StarteOrdnerDetailierungsSkripte="")
StarteOrdnerDetailierungsSkripte:=true
if StarteOrdnerDetailierungsSkripte
gosub imHauptprogrammOrdnerDetailierungsSkripte
NurExeStartErlaubt:=false
MaxEditNumber:=12 ; groesste verwendete Edit#
SpaeterKontainerAnzeigen:=false
WortVorschlaege:=true
ZackZackOrdnerLogErstellen:=false
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
ScripKlammerInhalt:=GetKlammerInhalt(A_ScriptName)
If(ScripKlammerInhalt="")
{
SkriptVersion:=false
}
else
{
ScriptKlammerMitInhalt:="[" ScripKlammerInhalt "]"
if(ZZO_Version<>ScripKlammerInhalt)
RunOtherAhkScriptOrExe(ExternalToolTipPath,"Der DateiName Klammerinhalt`n " A_ScriptName "`nstimmt nicht mit der Version `n " ZZO_Version "`nueberein")
; MsgBox, 262208, Version pflegen, Der DateiName Klammerinhalt`n %A_ScriptName%`nstimmt nicht mit der Version `n %ZZO_Version%`nueberein
}
StringReplace,ScriptNamneOhneKlammer,A_ScriptName,%ScriptKlammerMitInhalt%
LabelList=Wenn vor der Hilfe-Datei-Erzeugung via F1 eine BefehlsListe via`r`nMenue | Macro | Befehls-Liste`r`nangefordert wurde.`r`nerscheint hier in der Hilfe auch die Befehlsiste.
IfExist %A_ScriptDir%\Dir2Paths.exe
{
IfNotExist %A_AppDataCommon%\Zack\Dir2Paths.exe
FileCopy,%A_ScriptDir%\Dir2Paths.exe, %A_AppDataCommon%\Zack\Dir2Paths.exe
}
IfExist %A_ScriptDir%\TastWatch.exe
{
IfNotExist %A_AppDataCommon%\Zack\TastWatch.exe
FileCopy,%A_ScriptDir%\TastWatch.exe, %A_AppDataCommon%\Zack\TastWatch.exe
}
IfExist %A_ScriptDir%\ExternalTooltip.exe
{
IfNotExist %A_AppDataCommon%\Zack\ExternalTooltip.exe
FileCopy,%A_ScriptDir%\ExternalTooltip.exe, %A_AppDataCommon%\Zack\ExternalTooltip.exe
}
FileDelete,%A_AppDataCommon%\Zack\SchnellOrdner.txt
FileAppend,%A_ScriptFullPath%,%A_AppDataCommon%\Zack\SchnellOrdner.txt,utf-16
gosub GetDriveLists
IfNotExist %A_AppDataCommon%\Zack
FileCreateDir, %A_AppDataCommon%\Zack
IfNotExist %A_AppDataCommon%\Zack\SkriptOrdner.lnk
FileCreateShortcut,%A_ScriptDir%,%A_AppDataCommon%\Zack\SkriptOrdner.lnk
IfNotExist %A_AppDataCommon%\Zack\A_AppData.lnk
FileCreateShortcut,%A_AppData%\Zack,%A_AppDataCommon%\Zack\A_AppData.lnk
IfNotExist %A_AppData%\Zack\A_AppDataCommon.lnk
FileCreateShortcut,%A_AppDataCommon%\Zack,%A_AppData%\Zack\A_AppDataCommon.lnk
IfNotExist %A_AppData%\Zack\SkriptOrdner.lnk
FileCreateShortcut,%A_ScriptDir%,%A_AppData%\Zack\SkriptOrdner.lnk
FileDelete,%A_AppDataCommon%\Zack\AlleLaufwerke.awpf
FileAppend,%DriveNamesAwpfList%,%A_AppDataCommon%\Zack\AlleLaufwerke.awpf,utf-16
WBvor:="file:///"
WichtigeTrayTipsAnzeigen:=true
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
IfExist GeKoLi.ico
{
Menu,Tray,icon,GeKoLi.ico
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber-1,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
}
#Include *i %A_ScriptDir%\DateiNamensVorschlag.ahk
GuiNachHochfahrenMinimieren:=false
StringReplace,ScriptFullPathOhneKlammer,A_ScriptFullPath,%A_ScriptName%,%ScriptNamneOhneKlammer%
If Fehlersuche
MsgBox % ScriptFullPathOhneKlammer A_Tab ScriptNamneOhneKlammer
ZackData=%A_AppDataCommon%\Zack
WurzelContainer=%ZackData%\WuCont
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber-1,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
IfNotExist %WurzelContainer%
{
FileCreateDir,%WurzelContainer%
IfNotExist %WurzelContainer%
MsgBox kann %WurzelContainer% nicht erzeugen.
}
MetroAppLinksDir:=ZackData "\MetroAppLinks"
IfNotExist %MetroAppLinksDir%
FileCreateDir, %MetroAppLinksDir%
IfExist %WurzelContainer%\Haupt
{
SkriptDataPath=%WurzelContainer%\Haupt
IfExist % WurzelContainer "\Start Menu"
{
ProgExtDir:=A_AppDataCommon "\Zack\WuCont\Start Menu\ProgExt"
IfNotExist %ProgExtDir%
{
IfExist %A_ScriptDir%\GetRegExt.ahk
{
IfExist %A_ScriptDir%\GetRegExt.exe
Run "%A_ScriptDir%\GetRegExt.exe","A_ScriptDir"
else
Run "%A_ScriptDir%\GetRegExt.ahk","A_ScriptDir"
}
}
LetzterSkriptDataPathI:=WurzelContainer "\Start Menu"
LetzterSkriptDataPath:=WurzelContainer "\Start Menu"
}
FavoritenDirPath:=SkriptDataPath "\!Fav"
SpaeterKontainerAnzeigen:=true
}
SkriptDataPathKurzNachProgrammbeginn:=SkriptDataPath ; diese Variable bitte als Konstante ansehen und ab hier nicht mehr aendern.
ExpAutoContainerListe=%SkriptDataPathKurzNachProgrammbeginn%,%WurzelContainer%\Start Menu
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber-1,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
IndexierenBeenden:=0
OrdnerEingelesen:=False
Rekursiv=R ; Pendant zum Flag Rekur, bei Rekur ist Wahr sollte Rekursiv gleich R sein
gosub WorteCacheBefuellen
TT:={}
;}
; ; ; < ######################################### G u i ######################################### > @0155
;{ ; < ######################################### Gui Elemente ##################################### > @0160
if(A_ScreenDPI=96)
Gui,1:New,+HwndGuiWinHwnd -DPIScale
else
{
Gui,1:New,+HwndGuiWinHwnd ; -DPIScale
}
; SoundBeep 1200
TT[GuiWinHwnd]:="ZZO HauptFenster Recht-Klick Suche ruecksetzen"
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber-1,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
Gui,1:+Resize ; AlwaysOnTop
Gui,1: Show, w510 h480, ZackZackOrdner
GuiHeight:=480
Gui,1: Add, Edit, x8 y111 w60 h16 HwndHwndEdit1 gEdit1 vEdit1 -Tabstop r1 Right , Anz
TT[HwndEdit1]:="Edit1: Anzahl gefundener Pfade"
Gui,1: Add, Text, x78 y113 w55 h16 , % lang("gefundene")
Gui,1: Add, Text, x0 y135 w70 h32 , ausgewaehlte`nPfad Nr.
Gui,1: Add, Text, x71 y125 w25 h65 , _┌─`n`n¯ \`n ↓
Gui,1: Add, Text, x136 y113 w30 h16 , % lang("Pfade")
Gui,1: Add, Text, x0 y75 w93 h32 Right , Ordner-`nNamen-Suche
Gui,1: Add, Edit, x98 y78 w390 h20 HwndHwndEdit2 gEdit2 vEdit2 r1 , Such
TT[HwndEdit2]:="Edit2: Such-Text [F2]"
FuerEdit5UpDown:=1
Gui,1: Add, UpDown, vFuerEdit5UpDown gSuchverlaufAnzeigen left Range999999-1, 5
Gui,1: Add, Text, x98 y98 w83 h16 , Suche vom
Gui,1: Add, Edit, x40 y150 w30 h18 HwndHwndEdit3 gEdit3 vEdit3 -Wrap r1 Number , 1
TT[HwndEdit3]:="Edit3: Der hier gewaehlte Pfad dient fuer die Weiter-Bearbeitung. [F3]"
Gui,1: Add, Edit, x490 y78 w150 h20 HwndHwndEdit4 gEdit4 vEdit4 -Tabstop -Wrap , Befehlsentgegennahme
TT[HwndEdit4]:="Edit4: Einzel-Befehls-Eingabe, mit . am Ende abschicken! z.B. StopComputer. #[F2]"
Edit5Y0:=125 ; immer ueber diese Variable Y von Edit5 eingeben sonst trifft GuiDropFiles nicht
Gui,1: Add, Edit, x141 y%Edit5Y0% w350 h240 HwndHwndEdit5 gEdit5 vEdit5 -Tabstop -Wrap 0x100 -VScroll T15 HScroll, Ordner ; HScroll
TT[HwndEdit5]:="Edit5: gefundene Pfade / Zeilen / Objekte"
Gui,1: Add, UpDown, x122 y%Edit5Y0% w8 h240 HwndHwndEdit5UpDown vEdit5UpDown gEdit5UpDown -16 Range999999-1, 1
Gui,1: Add, Text, x239 y98 w82 h16 , Abbruch nach
Gui,1: Add, Edit, x309 y96 w70 h24 HwndHwndEdit6 gEdit6 vEdit6 -Wrap r1 Number , 25
TT[HwndEdit6]:="Edit6: Suche abbrechen. Hohe Zahl -> spaeter Abbruch"
Gui,1: Add, Text, x351 y98 w55 h16 , Iterationen.
GuiControl,1:, Edit6, 25
Gui,1: Add, CheckBox, x0 y68 w55 h14 HwndHwndEvalButton1Only gEvalButton1Only vEvalButton1Only -Tabstop Left , % lang("warte") ; Checked
TT[HwndEvalButton1Only]:="Such-Auswertung wartet auf Button1"
Gui,1: Add, CheckBox, x425 y108 w95 h15 HwndHwndCheckA0 gbeschaeftigt vbeschaeftigt -Tabstop , % lang("beschaeftigt")
Gui,1: Add, CheckBox, x156 y98 w80 h15 HwndHwndCheckA5 gWoAn vWoAn -Tabstop , WortAnfang,
Gui,1: Add, CheckBox, x302 y62 w90 h14 HwndHwndCheckB8 gExpSel vExpSel -Tabstop Right , Selektiert ; Checked
ExpSel:=false
GuiControl,1:, ExpSel, %ExpSel%
Gui,1: Add, Text, x0 y184 w90 h16 , Pfad-Filter
Gui,1: Add, CheckBox, x0 y222 w60 h16 HwndHwndCheckE0 gSuFi vSuFi -Tabstop , Filter
HwndSuFi:=HwndCheckE0
Gui,1: Add, Text, x0 y243 w90 h16 , Fenster
Gui,1: Add, CheckBox, x47 y222 w55 h16 HwndHwndCheckE5 gRegEx vRegEx -Tabstop , RegEx
Gui,1: Add, Edit, x0 y200 w90 h16 HwndHwndEdit7 gEdit7 vEdit7 -Tabstop -Wrap r1 , Filter
TT[HwndEdit7]:="Edit7: Pfad-Filter fuer die Cache-Suche #[F3]`n`, ODER-Trenner`n``n UND-Trenner"
Gui,1: Add, Edit, x0 y4000 w510 h16 HwndHwndEdit8 gEdit8 vEdit8 -Tabstop -Wrap r1 0x100 Center , EinzelErg ; Right
TT[HwndEdit8]:="Edit8: Weiter-BearbeitungsPfad."
Dummy:=16/DpiKorrektur
Dummy2:=24 + 8/DpiKorrektur
Gui,1: Add, ActiveX, w4510 h%Dummy2% x0 y-%Dummy% vdoc, HTMLFile
WiWa:=false
Gui,1: Add, CheckBox, x0 y236 w65 h20 HwndHwndCheckE9 gAuAb vAuAb -Tabstop , AutoAbbr
GuiControl,1:Hide,AuAb
Gui,1: Add, Edit, x62 y235 w30 h16 HwndHwndEdit9 gEdit9 vEdit9 -Tabstop r1 Number , 4
GuiControl,1:Hide,Edit9
Gui,1: Add, CheckBox, x0 y256 w35 h20 HwndHwndCheckG0 gOnTop vOnTop -Tabstop , To ; Top (Top -> Min)
Gui,1: Add, CheckBox, x42 y256 w35 h20 HwndHwndCheckG3 gAkt vAkt -Tabstop Checked , Ak ; Akt (Akt+Min -> Min; Akt+Top -> Min Akt -> Bottom ; Nichts -> lassen) Top or Min -> Min +Akt -Top -Min -> Bottom -Top -Akt -Min -> lassen
Gui,1: Add, Edit, x122 y450 w390 h20 HwndHwndEdit10 gEdit10 vEdit10 r1 , %Edit10Default%
GuiControl,1:, %HwndHwndCheckG3%, 1
Gui,1: Add, Text, x0 y314 w90 h16 , Pfade einlesen
Gui,1: Add, CheckBox, x0 y326 w90 h20 HwndHwndCheckI0 gRekursiv vRekur -Tabstop Checked , Rekursiv
Gui,1: Add, Text, x0 y350 w90 h32 , Anzeige im`nFeld rechts
Gui,1: Add, CheckBox, x0 y376 w90 h32 HwndHwndCheckK5 gIeAnz vIeAnz -Tabstop , zeige Inhalte √`noder Pfade
Gui,1: Add, Button, x0 y19 w90 h50 HwndHwndButton1 gButton1 -Tabstop , aktualisieren
TT[HwndButton1]:="Button1: Suche aktualisieren [F5]"
Gui,1: Add, Button, x102 y19 w90 h40 HwndHwndButton2 gButton2 , -> &I
TT[HwndButton2]:="Button2: gefundenen Pfad (Edit8) dem Speichern ... Dialog uebergeben [F6]"
Gui,1: Add, Button, x202 y19 w90 h40 HwndHwndButton3 gButton3 , └> &Clip
TT[HwndButton3]:="Button3: schreibt Edit8 ins Clipboard Edit5 bei weiterem Klick"
Gui,1: Add, Button, x302 y19 w90 h40 HwndHwndButton4 gButton4 Default , Explorer ; (Enter) ; vorzugsweise Default-Button
TT[HwndButton4]:="Button4: uebergibt Edit8 an den Explorer [F8]"
Gui,1: Add, Button, x402 y19 w90 h40 HwndHwndButton5 gButton5 -Tabstop , Copy`nMove
TT[HwndButton5]:="Button5: kopiert / verschiebt Pfade im Clipboard nach Edit8 [F9]"
Gui,1: Add, Edit, x130 y58 w80 h20 HwndHwndEdit11 gEdit11 vEdit11 r1 , %Edit11%
TT[HwndEdit11]:="Edit11: Pfad-Muster fuer die Live-Suche [F11]"
GuiControl, Hide,%HwndEdit11%
Gui,1: Add, Edit, x395 y58 w80 h20 HwndHwndEdit12 gEdit12 vEdit12 r1 , %Edit11%
TT[HwndEdit12]:="Edit12: End-Filter fuer die Live-Suche [F12]`n`, ODER-Trenner`n``n UND-Trenner"
GuiControl, Hide,%HwndEdit12%
; MouseMove,56*DpiKorrektur, 445*DpiKorrektur ; eigentlich unnoetig, Wartezeit damit der Folgebefehl klappt
sleep 200
; PixelGetColor,GuiHintergrundFarbe, 10*DpiKorrektur, 240*DpiKorrektur,RGB
; MsgBox % GuiHintergrundFarbe
ZzoHauptFensterHwndPfad:=% A_AppDataCommon "\Zack\ZzoHauptFensterHwnd.txt"
ZzoHauptFensterButton1HwndPfad:=% A_AppDataCommon "\Zack\ZzoHauptFensterButton1Hwnd.txt"
/*
IfExist % ZzoHauptFensterHwndPfad
{
FileRead,OldGuiWinHwnd ,% ZzoHauptFensterHwndPfad
IfWinExist, ahk_id %OldGuiWinHwnd%
{
Ue0=%0%
if not Ue0
{
MsgBox, 262180, %A_LineNumber%, Es gibt noch ein ZZO-Fenster`, erzeugt von %A_ScriptFullPath%`nSoll versucht werden es zu schliessen?
IfMsgBox, Yes
{
WinClose, ahk_id %OldGuiWinHwnd%
WinWaitClose, ahk_id %OldGuiWinHwnd%,,5
IfWinExist, ahk_id %OldGuiWinHwnd%
MsgBox %A_LineNumber% Das ZZO-Fenster`, erzeugt von %A_ScriptFullPath%`, konnte nicht geschlossen werden!
else
{
FileDelete,%ZzoHauptFensterHwndPfad%
FileAppend,% GuiWinHwnd,% ZzoHauptFensterHwndPfad
}
}
}
}
else
{
FileDelete,%ZzoHauptFensterHwndPfad%
FileDelete,%ZzoHauptFensterButton1HwndPfad%
FileAppend,% GuiWinHwnd,% ZzoHauptFensterHwndPfad
}
}
else
FileAppend,% GuiWinHwnd,% ZzoHauptFensterHwndPfad
*/
FileDelete,%ZzoHauptFensterHwndPfad%
FileAppend,% GuiWinHwnd,% ZzoHauptFensterHwndPfad
FileDelete,%ZzoHauptFensterButton1HwndPfad%
FileAppend,%GuiWinHwnd% %HwndButton1% %A_Now%`r`n, %ZzoHauptFensterButton1HwndPfad%
; goto WbTest ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht ; noch nicht
Loop, 10
{
ButtonIndex:=5+A_Index
IfExist %A_ScriptDir%\Button%ButtonIndex%.ahk
{
IfExist %A_ScriptDir%\Button%ButtonIndex%.Txt
{
FileRead,Button%ButtonIndex%Inhalt,%A_ScriptDir%\Button%ButtonIndex%.Txt
{
Datenkopie:=Button%ButtonIndex%Inhalt
gosub TimerEditUebernahme
}
}
Button%ButtonIndex%X:=402+A_Index*100
ThisButtonX:=Button%ButtonIndex%X
if (Button%ButtonIndex%Name="")
Button%ButtonIndex%Name=Spzial: Script %ButtonIndex%
ThisButtonName:=Button%ButtonIndex%Name
Gui,1: Add, Button, x%ThisButtonX% y19 w90 h40 HwndHwndButton%ButtonIndex% gButton%ButtonIndex% -Tabstop , %ThisButtonName%
}
}
ButtonHoechsteNr:=ButtonIndex
; gosub WbTest
Gui,1: Add, ActiveX, x141 y%Edit5Y0% w350 h240 HWNDHwndIe1 vWB gWB, Shell.Explorer ; Der letzte Parameter ist der Name der ActiveX-Komponente. https://msdn.microsoft.com/de-de/library/windows/desktop/bb774094(v=vs.85).aspx
ComObjConnect(WB, WB_events)
class WB_events
{
NavigateComplete2(wb, NewURL)
{
global PfadVomInternenExlorer,PfadVomInternenExlorerGesetzt,Edit8
; GuiControl,, URL, %NewURL% ; URL-Eingabefeld aktualisieren.
PfadVomInternenExlorer:= NewURL
PfadVomInternenExlorerGesetzt:=true
Edit8:= NewURL
gosub Edit8Festigen
Sleep 100
; Edit8:=Explorer_GetSelected()
; ListLines
PfadVomInternenExlorerGesetzt:=false
}
}
; InternalExplorer:=WB.Windows
; SelectedItems:=WB.Windows.Document.SelectedItems
; gosub WbTest
gosub IeControl
if ZackZackOrdnerLogErstellen
ThreadUeberwachungLog(A_LineNumber-1,A_ThisHotkey,A_ThisLabel,A_ThisFunc,A_ThisMenu,A_ThisMenuItem,A_ThisMenuItemPos)
;} ; < / ######################################## Gui Elemente ##################################### >
;{ ; < ######################################### Fenster-Menue ##################################### > @0170
;{ Dateimenü
mj:=1
Menu, Dateimenü, Add, % "Reload &" Integer3Hex(mj) , NeuStarten
++mj
Menu, Dateimenü, Add, % lang("Skript-Ordner anzeigen") " &" Integer3Hex(mj) , SkriptOrdnerOeffnen
++mj
Menu, Dateimenü, Add, % lang("Data-Common-Ordner anzeigen") " &" Integer3Hex(mj) , DataCommonOrdnerOeffnen
++mj
Menu, Dateimenü, Add, % lang("Data-Ordner anzeigen") " &" Integer3Hex(mj) , DataOrdnerOeffnen
++mj
Menu, Dateimenü, Add, % lang("Testumgebung erzeugen") " &" Integer3Hex(mj) , TestumgebungErzeugen
++mj
Menu, Dateimenü, Add, % lang("Schleifen abbrechen") " &" Integer3Hex(mj) #Esc, AllesAbbrechen
++mj
Menu, Dateimenü, Add, % lang("Beenden") " &" Integer3Hex(mj) , GuiClose
;}
;{ Edit8menue
mj:=1
Menu, Edit8menue, Add, % "Edit8 " lang("oeffnen") " &" Integer3Hex(mj) , Edit8Oeffnen
++mj
Menu, Edit8menue, Add, % "Edit8 " lang("oeffnen") A_Space lang("mit") A_Space lang("Schnellwahl") " &" Integer3Hex(mj) , Edit8ToOeffnenMitSchnellwahl
++mj
Menu, Edit8menue, Add, % "Edit8 " lang("oeffnen") A_Space lang("mit") "..." " &" Integer3Hex(mj) , Edit8OeffnenMit
++mj
Menu, Edit8menue, Add, % "Edit8 -> " lang("oeffnen") A_Space lang("mit") A_Space lang("Speicher") " &" Integer3Hex(mj) , Edit8ToOeffnenSpeicher
Menu, Edit8menue, Add
++mj
Menu, Edit8menue, Add, % lang("Zeige") A_Space lang("Inhalt") A_Space lang("als") A_Space lang("QuellText") " &" Integer3Hex(mj) , Edit8QuellTextAnzeigen
++mj
Menu, Edit8Menue, Add, % lang("Zeige") A_Space lang("Pfade") A_Space lang("des Ordners") " (" lang("Live-Suche") ") &" Integer3Hex(mj) , ImOrdnerSuchen
++mj
Menu, Edit8Menue, Add, % lang("Zeige") A_Space lang("Such-Text-Zeilen mit Pfaden") A_Space lang("des Ordners") " &" Integer3Hex(mj) , ImOrdnerTextSuchen
Menu, Edit8menue, Add
++mj
Menu, Edit8Menue, Add, % lang("Zeige") A_Space lang("Inhalt") A_Space lang("als") A_Space lang("Text in Edit5") " &" Integer3Hex(mj) , Edit82Edit2
++mj
Menu, Edit8Menue, Add, % lang("Zeige") A_Space lang("Inhalt") A_Space lang("im internen Explorer") " &" Integer3Hex(mj) , Edit8ExplorerEingebunden
Menu, Edit8menue, Add
++mj
Menu, Edit8Menue, Add, % lang("neuer") A_Space lang("Ordner") " &" Integer3Hex(mj) , Edit8NeuerOrdnerMitRueckFrage
++mj
Menu, Edit8Menue, Add, % lang("zeige temporaer") A_Space lang(" Unter-DrueberOrdner") " &" Integer3Hex(mj) , Edit8ZeigeVorfahrenUndUnterordner
++mj
Menu, Edit8Menue, Add, % lang("Edit8 -> Explorer") " &" Integer3Hex(mj) , Edit8Explorer
++mj
Menu, Edit8Menue, Add, % lang("Edit8 -> Explorer") A_Space lang("Select (GetFather)") " &" Integer3Hex(mj) , Edit8ExplorerSelect
++mj
Menu, Edit8Menue, Add, % lang("DirName -> Edit2") " &" Integer3Hex(mj) , DirName2Edit2
++mj
Menu, Edit8Menue, Add, % lang("FatherName -> Edit2") " &" Integer3Hex(mj) , FatherName2Edit2
++mj
Menu, Edit8Menue, Add, % lang("umbenennen") " &g" , Edit8Umbenennen
++mj
Menu, Edit8Menue, Add, % lang("Diashow") " &h" , DiashowImIe
++mj
Menu, Edit8Menue, Add, % lang("DateiSuche") " &i" , DateiSucheAusgehendVonEdit8
Menu, Edit8Menue, Add, % lang("nur Edit8 Anzeige bei Rechts-Klick") " &j" , Edit8Festigen
;}
;{ Pfademenue
mj:=1
; Menu, Edit5Menue, Add, zeige Ofad-menu , ZeigePfadMenu
Menu, Edit5Menue, Add, % lang("sortiere") A_Space lang("Edit5-Zeilen") A_Space lang("kurz") A_Space lang("oben") " &" Integer3Hex(mj) , SortLenAlle
Menu, Edit5Menue, Add, % lang("sortiere") A_Space lang("Edit5-Zeilen") A_Space lang("Aenderungsdatum") " &" Integer3Hex(mj) , SortMTimeAlle
++mj
Menu, Edit5Menue, Add, % lang("sortiere") A_Space lang("Beste Uebereinstimmung") A_Space lang("oben") " &" Integer3Hex(mj) , SortBestAutoBewertung
++mj
Menu, Edit5Menue, Add, % lang(" dabei diese Worte nach ") A_Space lang("oben") A_Space lang("/") A_Space lang("unten") " &" Integer3Hex(mj) , SortBestAutoBewertungNotWordList
; Menu, Edit5Menue, Add, Clipboard 2 Text , ClipboardMenuHandler1 ; reicht im #V-Menu
++mj
Menu, Edit5Menue, Add, % lang("Edit5-") A_Space lang("Pfade") A_Space lang(" -> Clipboard") " &" Integer3Hex(mj) , Button3Zweimal
++mj
Menu, Edit5Menue, Add, % lang("Clipboard -> Edit5-") lang("Pfade") " &" Integer3Hex(mj) , Clipboard2Edit5
++mj
Menu, Edit5Menue, Add, % lang("Inhalt") lang("(Edit8) -> Edit5-") lang("Pfade") " &" Integer3Hex(mj) , InhaltVonEdit82Edit5
++mj
Menu, Edit5Menue, Add, % lang("sortiere") A_Space lang("Clip-Zeilen nach Ordner-/Datei-Name") " &" Integer3Hex(mj) , ClipboardMenuHandler7
++mj
Menu, Edit5Menue, Add, % lang("sortiere") A_Space lang("Clip-Zeilen") " &" Integer3Hex(mj) , ClipboardMenuHandler6
++mj
Menu, Edit5Menue, Add, % lang("Clipboard") A_Space lang("anzeigen") lang(" / 2 Text / ") lang("editieren") " &" Integer3Hex(mj) , ClipboardMenuHandler10
++mj
Menu, Edit5Menue, Add, % lang("Kopiere") " Clippboard-" lang("Pfade") A_Space lang(" 2 Edit8-") A_Space lang("Pfad") " &" Integer3Hex(mj) , Button5
++mj
; Menu, Edit5Menue, Add, starte Clippboard-Einzel-Pfad , ClipboardMenuHandler8
Menu, Edit5Menue, Add, % lang("starte") A_Space lang("Clippboard-") A_Space lang("Pfade") A_Space lang("mit") " Edit8" " &" Integer3Hex(mj) , StarteClipboardPfadeMitEdit8
++mj
Menu, Edit5Menue, Add
Menu, Edit5Menue, Add, % lang("Edit5-") lang("Pfade") " ->" A_Space lang("DateiSuche") " &" Integer3Hex(mj) , DateiSucheAusgehendVonEdit5 ; Das Zeichen = im Pfad wird von SucheDateien nicht verdaut! ToDo
++mj
Menu, Edit5Menue, Add, % lang("Clipboard-") lang("Pfade") " -> " A_Space lang("DateiSuche") " &" Integer3Hex(mj) , DateiSucheAusgehendVomClipboard ; = im Pfad wird von SucheDateien nicht verdaut! ToDo
;}
;{ FilterMenue
mj:=1
; Menu, FilterMenue, Add, DirektSuche , DirektSuche ; wegen ImOrdnerSuchen deaktiviert
Menu, FilterMenue, Add, % lang("CacheSuche") " &" Integer3Hex(mj) , CacheSuche
++mj
Menu, FilterMenue, Add, % lang("Im Ordner direkt suchen") " &" Integer3Hex(mj) , ImOrdnerSuchen
++mj
Menu, FilterMenue, Add, % lang("Suchassistent Live-Suche") " &" Integer3Hex(mj) , SuchassistentLiveSucheQuelle
Menu, FilterMenue, Add
++mj
Menu, FilterMenue, Add, % lang("Suchverlauf aus Ansicht verschieben") " &" Integer3Hex(mj) , SuchverlaufLoeschen
Menu, FilterMenue, Add
++mj
Menu, FilterMenue, Add, % lang("Agezeigte Suche restaurieren") " &" Integer3Hex(mj) , GetAngezeigteSuche
++mj
Menu, FilterMenue, Add, % lang("Aktuelle Live Suche 2 LnkMacro") " &" Integer3Hex(mj) , AktuelleLiveSuche2Lnk
++mj
Menu, FilterMenue, Add, % lang("Suchverlauf anzeigen") " &" Integer3Hex(mj) , SuchverlaufAnzeigen
Menu, FilterMenue, Add, % lang("Suchverlaeufe anzeigen") " &" Integer3Hex(mj) , SuchverlaeufeAnzeigen
;}
;{ StukturenMenue
mj:=1
Menu, StukturenMenue, Add, % lang("Stuktur-Vorlage Assistent") " &" Integer3Hex(mj) , StrukturVorlageAssistent
++mj
Menu, StukturenMenue, Add, % lang("Stuktur bei Edit8 erzeugen") " &" Integer3Hex(mj) , ManuelleStrukturauswahl
++mj
Menu, StukturenMenue, Add, % lang("Stukturen anzeigen") " &" Integer3Hex(mj) , StukturenAnzeigen
++mj
Menu, StukturenMenue, Add, % lang("Inhalte zum Vater Ordner vor loeschen") " &" Integer3Hex(mj) , mInhaltzumVaterOrdnerLoeschen
;}
;{ ContainerMenue
mj:=1
Menu, ContainerMenue, Add, % lang("Container-Schnell-Wahl") " &" Integer3Hex(mj) , ContainerSchnellWahl
++mj
Menu, ContainerMenue, Add, % lang("(Angezeigten) oeffnen") " &" Integer3Hex(mj) , WurzelContainerOeffnen
++mj
Menu, ContainerMenue, Add, % "↑↓ " lang("Letzten oeffnen") " `tF4 &" Integer3Hex(mj) , LetzterContainer
++mj
Menu, ContainerMenue, Add, % lang("erstellen") " ... &" Integer3Hex(mj) , ContainerAnlegen
++mj
Menu, ContainerMenue, Add, % lang("loeschen") " ... &" Integer3Hex(mj) , ContainerLoeschen
++mj
Menu, ContainerMenue, Add, % lang("Alle loeschen") " ... &" Integer3Hex(mj) , DelCache
++mj
Menu, ContainerMenue, Add, % lang("Uebersicht anzeigen") " &" Integer3Hex(mj) , ContainerUebersichtZeigen
Menu, ContainerMenue, Add
++mj
Menu, ContainerMenue, Add, % lang("Cache-Struktur anzeigen") " &" Integer3Hex(mj) , ContStaAnz
;}
;{ StartPfadMenue
mj:=1
Menu, StartPfadMenue, Add, % lang("Start-Pfad-Schnell-Filter") " &" Integer3Hex(mj) , StartPfadSchnellFilter ; Siehe untere Bemerkungen zu Ctrl+F.
++mj
Menu, StartPfadMenue, Add, % lang("von Datei einlesen") " ... &" Integer3Hex(mj) , WurzelVonDateiHinzuFuegen ; Siehe untere Bemerkungen zu Ctrl+F.
++mj
Menu, StartPfadMenue, Add, % lang("einlesen") " ... &" Integer3Hex(mj) , WurzelHinzuFuegen ; Siehe untere Bemerkungen zu Ctrl+F.
++mj
Menu, StartPfadMenue, Add, % lang("Angezeigten aktualisieren") " ... (" lang("einzeln") ") &" Integer3Hex(mj) , WurzelAktualisieren ;
++mj
Menu, StartPfadMenue, Add, % lang("aktualisieren") " (Container) &" Integer3Hex(mj) , WurzelnAktualisieren ;
++mj
Menu, StartPfadMenue, Add, % lang("Loeschen") " ... &" Integer3Hex(mj) , WurzelLoeschen ;
++mj
Menu, StartPfadMenue, Add, % lang("Uebersicht anzeigen") " &" Integer3Hex(mj) , StartPfadeUebersicht ;
;}
;{ FavoritenMenue
mj:=1
Menu, FavMenue, Add, % lang("speichern") " ... &" Integer3Hex(mj) , FavoritSpeichern
++mj
Menu, FavMenue, Add, % lang("oeffnen") " (" lang("restaurieren") ") ... &" Integer3Hex(mj) , FavoritOeffnen
++mj
Menu, FavMenue, Add, % lang("suchen") " &" Integer3Hex(mj) , SucheFavInhalte
++mj
Menu, FavMenue, Add, % lang("plus") " * &" Integer3Hex(mj) , PlusStern
++mj
Menu, FavMenue, Add, % lang("minus") " * &" Integer3Hex(mj) , MinusStern
++mj
Menu, FavMenue, Add, % lang("Sternlose loeschen") " &" Integer3Hex(mj) , SternLoseFavoritenLoeschen
++mj
Menu, FavMenue, Add, % "AutoFavorit=" AutoFavorit " &" Integer3Hex(mj) , AutoFavoritEingeben
++mj