【HSP3】RPGツクール 200x イベント内容のクリップボード取得・書きこみモジュール

RPGツクール2000のイベントエディタのコマンドのクリップボードを取得・書き込みするモジュール

RPGツクール2000のイベントエディタのコマンドのクリップボードを取得・書き込みするモジュール

/******************************************************************************
RPG 200x
http://homepage2.nifty.com/MJHS/ (http://www.hinekure.net/)
http://www.tkooler.net/
getcbbin p1
p1 =
(stat)
0 :
-1 :
-2 :
-3 :
-4 :
-5 :
-6 :
-7 :
-------------------------------------------------------------------------------
setcbbin p1,p2
p1 =
p2 =
(stat)
0 :
-1 :
-2 :
-3 :
-4 :
-5 :
-6 :
******************************************************************************/
#include "user32.as"
#include "kernel32.as"
#module "_TKOOLEVCB_"
//
#deffunc _opencb
repeat 100
OpenClipboard 0
res=stat
if res!0 : break
loop
return res
#deffunc getcbbin var cbBinBuf
_opencb
//
if stat=0 : return -1
//
CountClipboardFormats
if stat=0 : CloseClipboard : return -2
formatsNum = stat
// 566
res = 0
repeat formatsNum
EnumClipboardFormats 0
if stat=566 : res = 1 : break
if stat=0 : continue
loop
// 566
if res=0 : CloseClipboard : return -3
//
GetClipboardData 566
if stat=0 : CloseClipboard : return -4
hGlobalMem = stat
//
GlobalSize hGlobalMem
if stat=0 : CloseClipboard : return -5
globalMemLen = stat
//
sdim cbBinBuf,globalMemLen
bufPtr = varptr(cbBinBuf)
//
GlobalLock hGlobalMem
if stat=0 : CloseClipboard : return -6
globalMemPtr = stat
//
dupptr cbBinBuf,globalMemPtr,globalMemLen,2
res = stat
GlobalUnlock hGlobalMem
CloseClipboard
if res=0 : return -7
//
return globalMemLen
//
#uselib "kernel32.dll"
#func CopyMemory "RtlMoveMemory" sptr, sptr, sptr
#deffunc setcbbin var cbBinBuf,int size
//
if size<=0 : return -1
//
GlobalAlloc 66,size
if stat=0 : return -2
hGlobalMem = stat
//
binptr = varptr(cbBinBuf)
//
GlobalLock hGlobalMem
if stat=0 : GlobalFree hGlobalMem : return -3
globalMemPtr = stat
// ()
CopyMemory globalMemPtr,binptr,size
//
GlobalUnlock hGlobalMem
//
_opencb
if stat=0 : GlobalFree hGlobalMem : return -4
//
EmptyClipboard
if stat=0 : GlobalFree hGlobalMem : CloseClipboard : return -5
//
SetClipboardData 566,hGlobalMem
if stat=0 : GlobalFree hGlobalMem : CloseClipboard : return -6
//
CloseClipboard
return 0
#global
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX