shell - Hvordan får man starttidspunkt for et File Explorer-vindue?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bygger skærmbilledet Autohotkey for at tage en sikkerhedskopi af den åbne File Explorer-vindues liste.

Jeg leder efter en måde for at få starttidspunktet for hvert vindue (tid når jeg har åbnet vinduet) .


Jeg har denne funktion:


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)
  }
}

Bedste reference


Prøve:


#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