aboutsummaryrefslogtreecommitdiff
path: root/src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt
blob: 29c78fbc640b5ff19e729d7b271acd709dd0c078 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package moe.yuuta.aero

import kotlinx.cinterop.*
import platform.windows.GetModuleHandleA
import platform.windows.GetStartupInfoA
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)
}