blob: 029e9a29edd8cba8bc4dc4b6173a6cc5aa9368ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package moe.yuuta.aero
import kotlinx.cinterop.*
import platform.windows.GetModuleHandleA
import platform.windows.GetStartupInfoA
import platform.windows.WINBOOLVar
import platform.windows._STARTUPINFOA
object WinCompat {
val nCmdShow
get() = memScoped {
val startUpInfo = nativeHeap.alloc<_STARTUPINFOA>()
GetStartupInfoA(startUpInfo.ptr)
val nCmdShow = startUpInfo.wShowWindow
nativeHeap.free(startUpInfo)
return@memScoped nCmdShow.convert<Int>()
}
val hInstance
get() = GetModuleHandleA(null)
fun DwmIsCompositionEnabled(): Boolean {
val enable = nativeHeap.alloc<WINBOOLVar>()
platform.windows.DwmIsCompositionEnabled(enable.ptr)
val result = enable.value
nativeHeap.free(enable)
return result > 0
}
}
|