I had mistaken. According to question
and answers at lua-users ML, it is bad usage to share a lua_State among some threads. This plugin should use synchronization method. In the result, the plugin may define hwnd as global.
Notice: This version was spoiled compatibility from older.
* Lua 5.1
* hwnd is removed from arguments.
* Win32 Common Dialog
* Lua is linked as static.
* km.select can accept double click of item.
The changes of scripts for this version is only to remove hwnd from all arguments.