1

Тема: AHK: Степень загрузки в панели задач.

Всем привет. Подскажите пожалуйста, как сделать вот такую зелёную полосу загрузки в панели задач?
https://forum.script-coding.com/misc.php?action=pun_attachment&item=2289&download=1&secure_str=40918f13

Post's attachments

Screenshot_1.png
Screenshot_1.png 3.6 kb, 3 downloads since 2022-10-18 

You don't have the permssions to download the attachments of this post.

2

Re: AHK: Степень загрузки в панели задач.

Примерно так:

Gui, +hwndhGui

percent := 0
Loop 100 {
   Sleep, 30
   Gui, Show, NA, % "Выполнено " . ++percent . "%"
   SetProgressOnTaskBarButton(hGui, TBPF_NORMAL := 0x2, percent)
}
Sleep, 500
ExitApp

SetProgressOnTaskBarButton(hWnd, state, completed := "", total := 100) {
/*  ITaskbarList3::SetProgressState method: https://goo.gl/JL8EyW
state values: 
TBPF_NOPROGRESS    := 0x0
TBPF_INDETERMINATE := 0x1
TBPF_NORMAL        := 0x2
TBPF_ERROR         := 0x4
TBPF_PAUSED        := 0x8
*/
   static CLSID_TaskbarList := "{56FDF344-FD6D-11d0-958A-006097C9A090}"
        , IID_ITaskbarList3 := "{EA1AFB91-9E28-4B86-90E9-9E9F8A5EEFAF}"
        , ITaskbarList3

   if !ITaskbarList3 {
      try ITaskbarList3 := ComObjCreate(CLSID_TaskbarList, IID_ITaskbarList3)
      catch
         Return
   }
   ; ITaskbarList3::SetProgressState
   DllCall(NumGet(NumGet(ITaskbarList3 + 0) + A_PtrSize*10), "Ptr", ITaskbarList3, "Ptr", hWnd, "UInt", state)
   if (completed != "")  ; ITaskbarList3::SetProgressValue
      DllCall(NumGet(NumGet(ITaskbarList3 + 0) + A_PtrSize*9), "Ptr", ITaskbarList3, "Ptr", hWnd, "Int64", completed, "Int64", total)
}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Степень загрузки в панели задач.

Большое спасибо.