#include <StringConstants.au3> ; to declare the Constants of StringRegExp
#include <Array.au3> ; UDF needed for _ArrayDisplay and _ArrayConcatenate
Local $sRegex = "(?m)(?<!\w)\b[A-Z]+[\_]*[A-Z]*\b(?=\s)"
Local $sString = "; v1.1.31.01'de tüm desktoplarda çalışır" & @CRLF & _
"" & @CRLF & _
"#NoEnv ; Uyumlukuk için A_ ön eki ile ortam değişkenlerini kullanın" & @CRLF & _
"#SingleInstance Force ; Sadece 1 kez açalıştırabilire" & @CRLF & _
" " & @CRLF & _
"#KeyHistory 0 ; Tuş basımları loglamayı engeller" & @CRLF & _
"" & @CRLF & _
"SetBatchLines, -1 ; Scripti sürekli olarak çalıştırma (nromalde her saniye 10ms uyur)" & @CRLF & _
"ListLines, Off ; Derlenen verileri loglamaz" & @CRLF & _
"" & @CRLF & _
"#Warn ; Enable warnings to assist with detecting common errors." & @CRLF & _
"SendMode Input ; Recommended for new scripts due to its superior speed and reliability." & @CRLF & _
"SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory." & @CRLF & _
"" & @CRLF & _
"#MaxThreadsPerHotkey, 1 ; Yanlışlıkla 2 kere buton algılanmasını engeller" & @CRLF & _
"" & @CRLF & _
"VERSION = 1.2.0" & @CRLF & _
"" & @CRLF & _
"; Gizlenmiş pencelerin ID'si" & @CRLF & _
"HidedWindows := []" & @CRLF & _
"" & @CRLF & _
"; TIP: Veri dizini yolu" & @CRLF & _
"DIR_NAME = %A_AppData%\YHotkeys" & @CRLF & _
"" & @CRLF & _
"InstallIcons()" & @CRLF & _
"CreateOrUpdateTrayMenu()" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"IconClicked:" & @CRLF & _
" ToggleMemWindowWithTitle(A_ThisMenuItem)" & @CRLF & _
"Return" & @CRLF & _
"" & @CRLF & _
"ClearAll:" & @CRLF & _
" ClearAllHidedWindows()" & @CRLF & _
"Return" & @CRLF & _
"" & @CRLF & _
"CloseApp:" & @CRLF & _
" ClearAllHidedWindows()" & @CRLF & _
" ExitApp" & @CRLF & _
"Return" & @CRLF & _
"" & @CRLF & _
"class MenuObject {" & @CRLF & _
" ahkID := 0" & @CRLF & _
" title := """ & @CRLF & _
" iconPath := """ & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"InstallIcons() {" & @CRLF & _
" global DIR_NAME" & @CRLF & _
" FileCreateDir, %DIR_NAME%" & @CRLF & _
" FileInstall, .\res\seedling.ico, %DIR_NAME%\seedling.ico, 1" & @CRLF & _
" FileInstall, .\res\default.ico, %DIR_NAME%\default.ico, 1" & @CRLF & _
" FileInstall, .\res\clear.ico, %DIR_NAME%\clear.ico, 1" & @CRLF & _
" FileInstall, .\res\close.ico, %DIR_NAME%\close.ico, 1" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"ClearAllHidedWindows() {" & @CRLF & _
" ahkIDs := GetHidedWindowsIDs()" & @CRLF & _
" For index, ahkID in ahkIDs {" & @CRLF & _
" ToggleWindowWithID(ahkID, True)" & @CRLF & _
" WinKill, ahk_id %ahkID%" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"GetHidedWindowsIDs(){" & @CRLF & _
" ahkIDs := []" & @CRLF & _
" global HidedWindows" & @CRLF & _
" For index, item in HidedWindows {" & @CRLF & _
" ahkIDs.Push(item.ahkID)" & @CRLF & _
" }" & @CRLF & _
"return ahkIDs" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"GetHidedWindowsIDWithTitle(title){" & @CRLF & _
" global HidedWindows" & @CRLF & _
" For index, item in HidedWindows {" & @CRLF & _
" if (item.title == title) {" & @CRLF & _
" return item.ahkID" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
"return 0" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"GetHidedWindowsIndexWithID(ahkID){" & @CRLF & _
" global HidedWindows" & @CRLF & _
" For index, item in HidedWindows {" & @CRLF & _
" if (item.ahkID == ahkID) {" & @CRLF & _
" return index" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
"return 0" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"ToggleMemWindowWithTitle(menuName) {" & @CRLF & _
" ahkID := GetHidedWindowsIDWithTitle(menuName)" & @CRLF & _
" if ahkID" & @CRLF & _
" ToggleWindowWithID(ahkID, True)" & @CRLF & _
" else" & @CRLF & _
" Run https://github.com/yedhrab/YHotkeys" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"RunUrl(url) {" & @CRLF & _
" ; WARN: Bazı uygulamarın geç açılması soruna sebep oluyor" & @CRLF & _
" ; BUG: Uygulamalar bazen 2 kere açılıyor" & @CRLF & _
" try {" & @CRLF & _
" SetTitleMatchMode, Slow" & @CRLF & _
" " & @CRLF & _
" RunWait, %url%" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"ActivateWindowWithID(ahkID, wait=True) {" & @CRLF & _
" WinActivate, ahk_id %ahkID%" & @CRLF & _
" if wait" & @CRLF & _
" WinWaitActive, ahk_id %ahkID%" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"ShowHidedWindowWithID(ahkId)" & @CRLF & _
"{" & @CRLF & _
" WinRestore, ahk_id %ahkID%" & @CRLF & _
" WinShow, ahk_id %ahkID%" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"DropFromMem(ahkID){" & @CRLF & _
" index := GetHidedWindowsIndexWithID(ahkID)" & @CRLF & _
" if index {" & @CRLF & _
" global HidedWindows" & @CRLF & _
" HidedWindows.RemoveAt(index)" & @CRLF & _
" }" & @CRLF & _
"return index" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"DropActiveWindowFromTrayMenu(){" & @CRLF & _
" WinGetTitle, title, A" & @CRLF & _
" Menu, Tray, Delete, %title%" & @CRLF & _
" global HidedWindows" & @CRLF & _
" if !HidedWindows.Length()" & @CRLF & _
" Menu, Tray, Delete, Temizle" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"DropActiveWindowFromMem(){" & @CRLF & _
" WinGet, ahkID, ID, A" & @CRLF & _
" " & @CRLF & _
"return DropFromMem(ahkID)" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"KeepInMem(ahkID, title, iconPath) {" & @CRLF & _
" item := new MenuObject" & @CRLF & _
" " & @CRLF & _
" item.ahkID := ahkID" & @CRLF & _
" item.title := title" & @CRLF & _
" item.iconPath := iconPath" & @CRLF & _
" " & @CRLF & _
" global HidedWindows" & @CRLF & _
" HidedWindows.Push(item)" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"; Gizlenmeden önce kullanılmazsa id alamaz" & @CRLF & _
"KeepActiveWindowInMem() {" & @CRLF & _
" WinGetActiveTitle, title" & @CRLF & _
" WinGet, ahkID, ID, A" & @CRLF & _
" WinGet, iconPath, ProcessPath, A" & @CRLF & _
" " & @CRLF & _
" KeepInMem(ahkID, title, iconPath)" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"AddTrayMenuIcon(title, iconPath, default=True) {" & @CRLF & _
" if FileExist(iconPath) {" & @CRLF & _
" Menu, Tray, Icon, %title%, %iconPath%,, 20" & @CRLF & _
" } else if default {" & @CRLF & _
" global DIR_NAME" & @CRLF & _
" iconPath := DIR_NAME . "\default.ico"" & @CRLF & _
" AddTrayMenuIcon(title, iconPath, False)" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"CreateOrUpdateTrayMenu(){" & @CRLF & _
" #Persistent" & @CRLF & _
" Menu, Tray, UseErrorLevel , On" & @CRLF & _
" Menu, Tray, NoStandard" & @CRLF & _
" Menu, Tray, Add, YHotkeys, IconClicked" & @CRLF & _
" " & @CRLF & _
" global VERSION" & @CRLF & _
" Menu, Tray, Tip, YHotkeys v%VERSION% ~ YEmreAk" & @CRLF & _
" Menu, Tray, Click, 1" & @CRLF & _
" " & @CRLF & _
" " & @CRLF & _
" global DIR_NAME" & @CRLF & _
" iconPath := DIR_NAME . "\seedling.ico"" & @CRLF & _
" if FileExist(iconPath) {" & @CRLF & _
" Menu, Tray, Icon, %iconPath%,, 20" & @CRLF & _
" iconPath := DIR_NAME . "\seedling.ico"" & @CRLF & _
" AddTrayMenuIcon("YHotkeys", iconPath)" & @CRLF & _
" }" & @CRLF & _
" " & @CRLF & _
" global HidedWindows" & @CRLF & _
" if (HidedWindows.Length() > 0) {" & @CRLF & _
" Menu, Tray, Add, Temizle, ClearAll" & @CRLF & _
" Menu, Tray, Delete, Temizle" & @CRLF & _
" Menu, Tray, Delete, Kapat" & @CRLF & _
" " & @CRLF & _
" iconPath := HidedWindows[HidedWindows.Length()].iconPath" & @CRLF & _
" mainTitle := HidedWindows[HidedWindows.Length()].title" & @CRLF & _
" " & @CRLF & _
" For index, item in HidedWindows {" & @CRLF & _
" title := item.title" & @CRLF & _
" iconPath := item.iconPath" & @CRLF & _
" " & @CRLF & _
" Menu, Tray, Add, %title%, IconClicked" & @CRLF & _
" AddTrayMenuIcon(title, iconPath)" & @CRLF & _
" }" & @CRLF & _
" " & @CRLF & _
" Menu, Tray, Add, Temizle, ClearAll" & @CRLF & _
" " & @CRLF & _
" iconPath := DIR_NAME . "\clear.ico"" & @CRLF & _
" AddTrayMenuIcon("Temizle", iconPath)" & @CRLF & _
" " & @CRLF & _
" } else {" & @CRLF & _
" mainTitle := "YHotkeys"" & @CRLF & _
" }" & @CRLF & _
" " & @CRLF & _
" Menu, Tray, Default, YHotkeys" & @CRLF & _
" Menu, Tray, Add, Kapat, CloseApp" & @CRLF & _
" " & @CRLF & _
" iconPath := DIR_NAME . "\close.ico"" & @CRLF & _
" AddTrayMenuIcon("Kapat", iconPath)" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"SendWindowToTrayByID(ahkID) {" & @CRLF & _
" WinHide ahk_id %ahkID%" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"; WARN: Bug sebebi olabilir (bundan değil bug)" & @CRLF & _
"; WARN: Eğer uyarı mesajı verilirse, odaklanma bozuluyor" & @CRLF & _
"FocusPreviusWindow(ahkID) {" & @CRLF & _
" SendEvent, !{Esc}" & @CRLF & _
" WinWaitNotActive, ahk_id %ahkID%" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"ToggleWindowWithID(ahkID, hide=False) {" & @CRLF & _
" DetectHiddenWindows, Off" & @CRLF & _
" if !WinExist("ahk_id" . ahkID) {" & @CRLF & _
" if hide {" & @CRLF & _
" ShowHidedWindowWithID(ahkID)" & @CRLF & _
" ActivateWindowWithID(ahkID)" & @CRLF & _
" if DropActiveWindowFromMem()" & @CRLF & _
" DropActiveWindowFromTrayMenu()" & @CRLF & _
" CreateOrUpdateTrayMenu()" & @CRLF & _
" } else {" & @CRLF & _
" ActivateWindowWithID(ahkID)" & @CRLF & _
" }" & @CRLF & _
" } else {" & @CRLF & _
" if WinActive("ahk_id" . ahkID) {" & @CRLF & _
" if hide {" & @CRLF & _
" KeepActiveWindowInMem()" & @CRLF & _
" FocusPreviusWindow(ahkID)" & @CRLF & _
" SendWindowToTrayByID(ahkID)" & @CRLF & _
" CreateOrUpdateTrayMenu()" & @CRLF & _
" } else {" & @CRLF & _
" WinMinimize, A" & @CRLF & _
" }" & @CRLF & _
" } else {" & @CRLF & _
" ActivateWindowWithID(ahkID)" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"OpenWindowInTray(selector, name, url, mode=3) {" & @CRLF & _
" SetTitleMatchMode, %mode%" & @CRLF & _
" DetectHiddenWindows, On" & @CRLF & _
" " & @CRLF & _
" IDlist := []" & @CRLF & _
" if (selector == "title") {" & @CRLF & _
" WinGet, IDlist, list, %name%" & @CRLF & _
" } else if (selector == "class") {" & @CRLF & _
" WinGet, IDlist, list, ahk_class %name%" & @CRLF & _
" } else if (selector == "exe") {" & @CRLF & _
" WinGet, IDlist, list, ahk_exe %name%" & @CRLF & _
" }" & @CRLF & _
" " & @CRLF & _
" found := False" & @CRLF & _
" Loop, %IDlist% {" & @CRLF & _
" ahkID := IDlist%A_INDEX%" & @CRLF & _
" if WinExist("ahk_id" . ahkID) {" & @CRLF & _
" WinGetTitle, title" & @CRLF & _
" if (title == "")" & @CRLF & _
" continue" & @CRLF & _
" " & @CRLF & _
" ToggleWindowWithID(ahkID, True)" & @CRLF & _
" found := True" & @CRLF & _
" }" & @CRLF & _
" }" & @CRLF & _
" if !found" & @CRLF & _
" RunUrl(url)" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"OpenWindowByTitle(title, url, mode=3) {" & @CRLF & _
" SetTitleMatchMode, %mode%" & @CRLF & _
" DetectHiddenWindows, Off" & @CRLF & _
" " & @CRLF & _
" if WinExist(title) {" & @CRLF & _
" WinGet, ahkID, ID, %title%" & @CRLF & _
" ToggleWindowWithID(ahkID, False)" & @CRLF & _
" } else {" & @CRLF & _
" RunUrl(url)" & @CRLF & _
" }" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"GetEnvPath(envvar, path=""){" & @CRLF & _
" EnvGet, prepath, %envvar%" & @CRLF & _
" path = %prepath%%path%" & @CRLF & _
"return path" & @CRLF & _
"}" & @CRLF & _
"" & @CRLF & _
"; ####################################################################################" & @CRLF & _
"; ## ##" & @CRLF & _
"; ## KISAYOLLAR ##" & @CRLF & _
"; ## ##" & @CRLF & _
"; ####################################################################################" & @CRLF & _
"" & @CRLF & _
"; ---------------------------------- Göster / Gizle ----------------------------------" & @CRLF & _
"#q::" & @CRLF & _
" name := "- OneNote"" & @CRLF & _
" path := "shell:appsFolder\Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim"" & @CRLF & _
" mode := 2" & @CRLF & _
" OpenWindowByTitle(name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"; #t::" & @CRLF & _
"; name := "Tureng Dictionary"" & @CRLF & _
"; path := "shell:appsFolder\24232AlperOzcetin.Tureng_9n2ce2f97t3e6!App"" & @CRLF & _
"; mode := 2" & @CRLF & _
"; OpenWindowByTitle(name, path, mode)" & @CRLF & _
"; return" & @CRLF & _
"" & @CRLF & _
"; --------------------------------- Tray Kısayolları ---------------------------------" & @CRLF & _
"" & @CRLF & _
"#w::" & @CRLF & _
" ; WARN: 4 tane var exe ile ele alınmalı WhatsApp.exe (bundan değil)" & @CRLF & _
" name := "WhatsApp"" & @CRLF & _
" path := "shell:appsFolder\5319275A.WhatsAppDesktop_cv1g1gvanyjgm!WhatsAppDesktop"" & @CRLF & _
" mode := 2" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"#g::" & @CRLF & _
" name := "GitHub Desktop"" & @CRLF & _
" path := GetEnvPath("localappdata", "\GitHubDesktop\GitHubDesktop.exe")" & @CRLF & _
" mode := 3" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"#x::" & @CRLF & _
" name := "Google Calendar"" & @CRLF & _
" path := GetEnvPath("appdata", "\Microsoft\Windows\Start Menu\Programs\Chrome Apps\Google Calendar.lnk")" & @CRLF & _
" mode := 2" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"#e::" & @CRLF & _
" name := "CabinetWClass"" & @CRLF & _
" path := "explorer.exe"" & @CRLF & _
" OpenWindowInTray("class", name, path)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"; Dizin kısayolları PgDn ile başlar" & @CRLF & _
"PgDn & g::" & @CRLF & _
" name := "GitHub"" & @CRLF & _
" path := GetEnvPath("userprofile", "\Documents\GitHub")" & @CRLF & _
" OpenWindowInTray("title", name, path)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"PgDn & s::" & @CRLF & _
" name := "ShareX"" & @CRLF & _
" path := "shell:appsFolder\19568ShareX.ShareX_egrzcvs15399j!ShareX"" & @CRLF & _
" mode := 3" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"PgDn & Shift::" & @CRLF & _
" name := "Startup"" & @CRLF & _
" path := "shell:startup"" & @CRLF & _
" mode := 3" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"PgDn & i::" & @CRLF & _
" name := "Icons"" & @CRLF & _
" path := GetEnvPath("userprofile", "\Google Drive\Pictures\Icons")" & @CRLF & _
" mode := 3" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"PgDn & d::" & @CRLF & _
" name := "Downloads"" & @CRLF & _
" path := "shell:downloads"" & @CRLF & _
" mode := 3" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"PgDn & u::" & @CRLF & _
" name := "Yunus Emre Ak"" & @CRLF & _
" path := GetEnvPath("userprofile")" & @CRLF & _
" mode := 3" & @CRLF & _
" OpenWindowInTray("title", name, path, mode)" & @CRLF & _
"return" & @CRLF & _
"" & @CRLF & _
"; --------------------------------- Buton Kısayolları ---------------------------------" & @CRLF & _
"" & @CRLF & _
"; Değiştirilen butonları kurtarma" & @CRLF & _
"Control & PgDn::" & @CRLF & _
" Send , !{PgDn}" & @CRLF & _
"return" & @CRLF & _
"Control & PgUp::" & @CRLF & _
" Send , !{PgUp}" & @CRLF & _
"return" & @CRLF & _
""
Local $aArray = StringRegExp($sString, $sRegex, $STR_REGEXPARRAYGLOBALFULLMATCH)
Local $aFullArray[0]
For $i = 0 To UBound($aArray) -1
_ArrayConcatenate($aFullArray, $aArray[$i])
Next
$aArray = $aFullArray
; Present the entire match result
_ArrayDisplay($aArray, "Result")
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for AutoIt, please visit: https://www.autoitscript.com/autoit3/docs/functions/StringRegExp.htm