暗黑滚动进度条.ahk

; https://www.autohotkey.com/boards/viewtopic.php?f=13&t=94661
PtrType := A_PtrSize ? "Ptr" : "Uint"
PtrSize := A_PtrSize ? A_PtrSize : 4

Gui, +LastFound

WinGet, hWindow,ID
Gui, Add, Edit, ym w500 h200 HwndHCBB
Gui, Add, ComboBox, w400 r6 hwndHCBB, a|b|c|e|f|g|h|i|j|k
Gui, Show, , ComboBox & Edit

GetComboBoxInfo(HCBB, CBBInfo)
HCBBEDIT := NumGet(CBBInfo, 40 + PtrSize, PtrType)
HCBBLIST := NumGet(CBBInfo, 40 + (2 * PtrSize), PtrType)
HCBB += 0
ControlSetText, , % "ComboBox: " . (HCBB + 0) . " - Edit: " . HCBBEDIT . " - ListBox: " . HCBBLIST, ahk_id %HCBBEDIT%

DllCall("UxTheme.DLL\SetWindowTheme", "Ptr", HCBBLIST, "Str", "DarkMode_Explorer", "Ptr", 0)

Return

GuiClose:
ExitApp

GetComboBoxInfo(HCBB, ByRef CBBI) {
  ; http://msdn.microsoft.com/en-us/library/bb775939%28VS.85%29.aspx
  Global PtrSize, PtrType
  CBBISize := 40 + (3 * PtrSize)
  VarSetCapacity(CBBI, CBBISize, 0)
  NumPut(CBBISize, CBBI, 0, "UInt")
  Return DllCall("User32.dll\GetComboBoxInfo", PtrType, HCBB, PtrType, &CBBI)
}

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。