Advertisement
Guest User

Media Player Classic, PicPick, CherryTree import

a guest
Feb 19th, 2023
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
AutoIt 4.96 KB | None | 0 0
  1. #include <Array.au3>
  2. #include <File.au3>
  3.  
  4. Func GetHoveredHwnd($i_xpos, $i_ypos)
  5.     Local $iRet = DllCall("user32.dll", "int", "WindowFromPoint", "long", $i_xpos, "long", $i_ypos)
  6.     If IsArray($iRet) Then
  7.         Local $appHandle = $iRet[0]
  8.         Return HWnd($iRet[0])
  9.     Else
  10.         Return SetError(1, 0, 0)
  11.     EndIf
  12.  EndFunc   ;==>GetHoveredHwnd
  13.  
  14. Func _read_file($file_loc)
  15.  
  16.    Local $hFileOpen = FileOpen($file_loc, 0)
  17.    Local $file_read = FileRead($hFileOpen)
  18.    FileClose($hFileOpen)
  19.  
  20.    Return $file_read
  21. EndFunc
  22.  
  23. Func _GetWindowHandle($deoNaslova)
  24.     Local $WinList = WinList()
  25.     ;_ArrayDisplay($WinList)
  26.     For $i = 1 to $WinList[0][0]
  27.         If StringInStr(($WinList[$i][0]), $deoNaslova) then
  28.             Return $WinList[$i][1]
  29.         EndIf
  30.     Next
  31.     Return 0
  32.  EndFunc
  33.  
  34. Func _screenshot_mpc_cherryTree_import()
  35.    Local $mPos = MouseGetPos()
  36.    Local $active_win_handle = GetHoveredHwnd($mPos[0], $mPos[1])
  37.    WinActivate($active_win_handle)
  38.    Sleep(200)
  39.  
  40.    Local $folder_za_slike = _read_file(@ScriptDir & "\folder_za_slike.txt")
  41.    Local $sleep = 100, $mPos, $mpc_title, $mpc_title_tmp
  42.    If $folder_za_slike = "" Then
  43.       MsgBox(262144, "Greska:", "napraviti fajl folder_za_slike.txt i upisati lokaciju foldera za slike")
  44.       Return
  45.    EndIf
  46.    Local $hWnd_tmp, $podela_tmp, $podela_tmp2
  47.    Local $lok_slike
  48.    Local $pozicija_videa = ""
  49.    Local $rucica_cherryTree = _GetWindowHandle(" - CherryTree")
  50.  
  51.    ; obrada brojanja slika
  52.    Local $br_slika, $br_slika_tmp
  53.    Local $niz_fajlovi = _FileListToArray($folder_za_slike, "*." & "png", 1)
  54.    If @error Then $br_slika = 0
  55.    If UBound($niz_fajlovi) - 1 > 0 Then $br_slika = UBound($niz_fajlovi) - 1
  56.    $br_slika = $br_slika + 1
  57.    Select
  58.       Case $br_slika < 10 And $br_slika > 0
  59.          $br_slika = "000" & $br_slika
  60.       Case $br_slika < 100 And $br_slika > 9
  61.          $br_slika = "00" & $br_slika
  62.       Case $br_slika < 1000 And $br_slika > 99
  63.          $br_slika = "0" & $br_slika
  64.    EndSelect
  65.    ; kraj obrade brojanja slika
  66.  
  67.    ; detekcija pozicije u windows classic palyer-u
  68.    Local $mpc_vreme = WinGetText("[CLASS:MediaPlayerClassicW]", "")
  69.    If StringInStr($mpc_vreme, @LF & @LF & @LF) Then
  70.       ;MsgBox(0, "Vrednost je:", $mpc_vreme)
  71.       $podela_tmp = StringSplit($mpc_vreme, @LF & @LF & @LF, 1)
  72.       If IsArray($podela_tmp) And UBound($podela_tmp) - 1 >= 2 Then
  73.          ;MsgBox(0, "Vrednost je:",$podela_tmp[2])
  74.          ;_ArrayDisplay($podela_tmp, "$podela_tmp")
  75.          If StringInStr($podela_tmp[2] , "/") Then
  76.             $podela_tmp2 = StringSplit($podela_tmp[2], "/", 1)
  77.             If IsArray($podela_tmp2) Then
  78.                ;_ArrayDisplay($podela_tmp2, "$podela_tmp2")
  79.                $pozicija_videa = StringStripWS(StringReplace($podela_tmp2[1], ":", "-"), 8)
  80.                ;MsgBox(0, "Vrednost je:", $pozicija_videa)
  81.             EndIf
  82.          EndIf
  83.       EndIf
  84.    EndIf
  85.    If $pozicija_videa = "" Then
  86.       MsgBox(262144, "Greska:", "U imenu fajla nece biti pozcije videa")
  87.    EndIf
  88.    ; kraj detekcije pozicije
  89.  
  90.    ; picpic cuvanje slike
  91.    $mPos = MouseGetPos()
  92.    Send("+{PRINTSCREEN}")
  93.    Sleep(500)
  94.    MouseClick("primary")
  95.    Do
  96.       Sleep(100)
  97.       $hWnd_tmp = _GetWindowHandle("PicPick ")
  98.    Until WinActive($hWnd_tmp)
  99.    WinWaitActive($hWnd_tmp)
  100.    Sleep($sleep)
  101.    Send("^s")
  102.    WinWaitActive("Save As")
  103.    $mpc_title = WinGetTitle("[CLASS:MediaPlayerClassicW]", "")
  104.    If StringInStr($mpc_title, "\") Then
  105.       $mpc_title_tmp = StringSplit($mpc_title, "\")
  106.       If IsArray($mpc_title_tmp) Then
  107.          ;_ArrayDisplay($mpc_title_tmp)
  108.          $mpc_title = $mpc_title_tmp[UBound($mpc_title_tmp)-1]
  109.       EndIf
  110.    EndIf
  111.    $lok_slike = $folder_za_slike & "\" & $br_slika & "_" & $mpc_title & "_"  & $pozicija_videa & "_" & @MDAY & "-" & @MON & "-" & @YEAR & "+" & @HOUR & "-" & @MIN & "-" & @SEC & "-" & @MSEC & ".png"
  112.    ClipPut($lok_slike)
  113.    Send("^v")
  114.    Sleep($sleep)
  115.    Send("{ENTER}")
  116.    WinWaitClose("Save As")
  117.    $hWnd_tmp = _GetWindowHandle("PicPick")
  118.    WinActivate($hWnd_tmp)
  119.    WinWaitActive($hWnd_tmp)
  120.    If WinActive($hWnd_tmp) Then
  121.       Send("^w")
  122.       Sleep($sleep)
  123.       WinClose($hWnd_tmp)
  124. ;~    Send("!{F4}")
  125.    Else
  126.       MsgBox(0, "Greska:", "Nije aktiviran krajnji picpic prozor")
  127.    EndIf
  128.    ; kraj picpic cuvanje slike
  129.  
  130.    If FileGetSize($lok_slike) > 100 Then
  131.       ; unos u cherry tree
  132.       WinActivate($rucica_cherryTree)
  133.       WinWaitActive($rucica_cherryTree)
  134.       Send("^!i")
  135.       WinWaitActive("Select File")
  136.       Send("^!i")
  137.       Sleep($sleep)
  138.       Send("^v")
  139.       Sleep($sleep)
  140.       Send("{ENTER}")
  141.       WinWaitActive("Image Properties")
  142.       Send("{ENTER}")
  143.       WinWaitActive($rucica_cherryTree)
  144.       ;Send("{ENTER 2}")
  145.       MouseMove($mPos[0], $mPos[1], 0)
  146.       ; kaj unosa cherry tree
  147.    Else
  148.       FileDelete($lok_slike)
  149.       MsgBox(0, "Greska:", "Fajl manji od 100 bytes, obrisan, slikati ponovo", 3)
  150.       WinActivate($rucica_cherryTree)
  151.       MouseMove($mPos[0], $mPos[1], 0)
  152.    EndIf
  153. EndFunc
  154.  
  155. _screenshot_mpc_cherryTree_import()
  156. ; dependencies
  157.    ; MeidaPlayerClassic, PicPick, CherryTree
  158.    ; file folder_za_slike.txt, script folder, content, d:\slike
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement