Code: Select all
PrototypeC.i DwmSetWindowAttribute(hwnd.i, dwAttribute.l, *pvAttribute, cbAttribute.l)
Global DwmSetWindowAttribute.DwmSetWindowAttribute
#DWMWA_USE_IMMERSIVE_DARK_MODE = 20
Define darkMode.i = 1
Define window.i = 0
Debug @window
Debug @darkMode
Procedure ShowWindow(window.i, darkMode.i)
OpenWindow(window, 100, 100, 400, 400, "Test", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered)
Debug @window
Debug @darkMode
If OpenLibrary(0, "dwmapi")
DwmSetWindowAttribute = GetFunction(0, "DwmSetWindowAttribute")
DwmSetWindowAttribute(WindowID(window), #DWMWA_USE_IMMERSIVE_DARK_MODE, @darkMode, SizeOf(darkMode))
CloseLibrary(0)
EndIf
Debug window
SetWindowColor(window, $303030)
EndProcedure
ShowWindow(0, 1)
Repeat
event = WaitWindowEvent(10)
Until event = #PB_Event_CloseWindow
