Как узнать время запуска окна проводника? - PullRequest
0 голосов
/ 09 мая 2018

Я создаю скрипт Autohotkey для создания резервной копии открытого списка окон в Проводнике.
Я ищу способ, чтобы получить время начала каждого окна (время, когда я открыл окно) .

У меня есть эта функция:

list_opened_folders(byref file_explorer_windows) {
  ; file_explorer_windows := [] ; array of file_explorer_windows

  for window in ComObjCreate("Shell.Application").Windows {
    file_explorer_windows[a_index] := {}
    file_explorer_windows[a_index].path := window.Document.Folder.Self.Path
    file_explorer_windows[a_index].id := window.HWND
    file_explorer_windows[a_index].started_time := window.Document.Folder.Self.Time ; Line I'm trying to add (I know this is invalid but to illustrate my idea)
  }
}

1 Ответ

0 голосов
/ 09 мая 2018

Попробуйте:

#Persistent
DetectHiddenWindows, On 
SetTitleMatchMode, 2

file_explorer_windows := {}

SetTimer, GetExplorer, 100

GetExplorer:

    Process, Exist, Explorer.exe
    If ErrorLevel 
    {

        for window in ComObjCreate("Shell.Application").Windows { 
            if (file_explorer_windows[window.HWND]["id"] == "") {
                file_explorer_windows[window.HWND] := {id: window.HWND
                                                     , path: window.Document.Folder.Self.Path
                                                     , start: A_NowUTC}
            }
      }
    }
Return
...