設置
|
登錄
|
註冊
進入侃吧
搜索帖子
首頁
>
RPG Maker XP吧
>
瀏覽帖子
回覆帖子
|
只看樓主
目前共有
17
篇帖子。
1
2
下一頁
尾頁
在RMXP中複製事件時,產生的剪切板內容的格式編號為50380,格式名稱是RPGXP EVENT
1樓
巨大八爪鱼
2016-1-12 12:51
2樓
巨大八爪鱼
2016-1-12 12:51
使用下面的C++程序就可以查出來:
// RMXPClipboard.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
char name[100];
OpenClipboard(NULL);
while (i = EnumClipboardFormats(i))
{
GetClipboardFormatNameA(i, name, 100);
cout << i << ": " << name << endl;
}
CloseClipboard();
system("pause");
return 0;
}
3樓
巨大八爪鱼
2016-1-12 13:01
為了看看RMXP程序到底在剪切板中放了什麼內容,可以寫一個C++程序把剪切板的內容輸出到文件中。
程序代碼:
// RMXPClipboard.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
OpenClipboard(NULL);
if (!IsClipboardFormatAvailable(50380))
return 1;
HGLOBAL hMem = GetClipboardData(50380);
DWORD dwSize = GlobalSize(hMem);
cout << "Size: " << dwSize << endl;
LPVOID data = GlobalLock(hMem);
FILE *fp;
fopen_s(&fp, "clipboard.dat", "w");
fwrite(data, dwSize, 1, fp);
fclose(fp);
CloseClipboard();
system("pause");
return 0;
}
4樓
巨大八爪鱼
2016-1-12 13:03
運行程序後,輸出的文件內容如下:
5樓
巨大八爪鱼
2016-1-12 13:03
測試時,我複製的是RMXP中的一個空白事件:
6樓
巨大八爪鱼
2016-1-12 13:08
根據這一線索,可以用C++編寫一個程序,專門生成RMXP的各種事件,生成後粘貼到RMXP地圖上就行了。
7樓
巨大八爪鱼
2016-1-12 13:12
複製一個魔塔樣板中的老人事件:
其剪切板的內容如下:
其中的中文已經亂碼。所以在編寫程序時要注意編碼的問題。
8樓
巨大八爪鱼
2016-1-12 13:13
根據一樓的程序運行結果的截圖,可以得出的結論是:在RMXP中複製事件時,只產生了50380著一種剪切板內容格式。
9樓
巨大八爪鱼
2016-1-12 13:18
在RMXP中複製顯示文章這一單條事件指令,產生的剪切板格式編號是50287,其名稱為RPGXP EVENT_COMMAND。
例如,複製顯示文章:
\m[老人]注意:隱藏層不支持對話記錄!
對話記錄只支持固定數字的樓層。
其剪切板的內容為:
10樓
巨大八爪鱼
2016-1-12 13:26
為了修改剪切板中的內容,執行以下C++代碼:
char *data = (char *)GlobalLock(hMem);
memcpy(data + 59, "abcdef", 6);
GlobalUnlock(hMem);
SetClipboardData(50287, hMem);
執行這段代碼後,在RMXP事件編輯器中粘貼,可見其中一段內容已經成功改變:
1
2
下一頁
尾頁
內容轉換:
不轉換
大陆简体
台灣正體
港澳繁體
马新简体
回覆帖子
內容:
用戶名:
您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [
桌面版
]
除非另有聲明,
本站
採用
知識共享署名-相同方式共享 3.0 Unported許可協議
進行許可。