summaryrefslogtreecommitdiff
path: root/plugins/MirLua/src/m_windows.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirLua/src/m_windows.cpp')
-rw-r--r--plugins/MirLua/src/m_windows.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/plugins/MirLua/src/m_windows.cpp b/plugins/MirLua/src/m_windows.cpp
new file mode 100644
index 0000000000..82b3a40d9e
--- /dev/null
+++ b/plugins/MirLua/src/m_windows.cpp
@@ -0,0 +1,27 @@
+#include "stdafx.h"
+
+static int lua_ShellExecute(lua_State *L)
+{
+ ptrT command(mir_utf8decodeT(lua_tostring(L, 1)));
+ ptrT file(mir_utf8decodeT(lua_tostring(L, 2)));
+ ptrT args(mir_utf8decodeT(lua_tostring(L, 3)));
+ int flags = lua_tointeger(L, 4);
+
+ ::ShellExecute(NULL, command, file, args, NULL, flags);
+
+ return 0;
+}
+
+static luaL_Reg winApi[] =
+{
+ { "ShellExecute", lua_ShellExecute },
+
+ { NULL, NULL }
+};
+
+LUAMOD_API int luaopen_m_windows(lua_State *L)
+{
+ luaL_newlib(L, winApi);
+
+ return 1;
+}