aboutsummaryrefslogtreecommitdiff
path: root/src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt')
-rw-r--r--src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt b/src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt
new file mode 100644
index 0000000..29c78fb
--- /dev/null
+++ b/src/mingwMain/kotlin/moe/yuuta/aero/WinCompat.kt
@@ -0,0 +1,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)
+} \ No newline at end of file