.版本 2
.程序集 窗口程序集1
.子程序 文件_复制到剪辑板, 逻辑型, 公开, 将指定文件复制到剪贴板,成功返回真,失败返回假。
.参数 文件名, 文本型, , 参数值为欲复制到剪贴板的文件名文本,如果复制多个文件,那么每个文件路径通过“#换行符”分隔(同拖放对象)。
.参数 状态, 逻辑型, 可空, 默认为假。真=剪切;假=复制
.局部变量 sTmp, 字节集
.局部变量 dfs, 剪贴板_置文件
.局部变量 hGlobal, 整数型
.局部变量 i, 整数型
.局部变量 ret, 整数型
.局部变量 lngFormat, 整数型
.局部变量 lpGlobal, 整数型
.局部变量 文件名组, 文本型, , "0"
文件名组 = 分割文本 (文件名, #换行符, )
.如果真 (OpenClipboard (0) = 0)
返回 (假)
.如果真结束
EmptyClipboard ()
.计次循环首 (取数组成员数 (文件名组), i)
sTmp = sTmp + 到字节集 (文件名组 [i]) + { 0 }
.计次循环尾 ()
sTmp = sTmp + { 0 }
hGlobal = GlobalAlloc (66, 20 + 字节集_取长度 (sTmp))
.如果真 (hGlobal = 0)
CloseClipboard ()
返回 (假)
.如果真结束
lpGlobal = GlobalLock (hGlobal)
dfs.pFiles = 20
RtlMoveMemory (lpGlobal, dfs, 20)
RtlMoveMemory_字节集 (lpGlobal + 20, sTmp, 字节集_取长度 (sTmp))
_解锁全局内存块 (hGlobal)
ret = SetClipboardData (15, hGlobal)
GlobalFree (hGlobal)
.如果真 (状态 且 ret > 0)
lngFormat = RegisterClipboardFormatA (“Preferred DropEffect”)
hGlobal = GlobalAlloc (66, 4)
RtlMoveMemory_整数型 (GlobalLock (hGlobal), 2, 4)
_解锁全局内存块 (hGlobal)
SetClipboardData (lngFormat, hGlobal)
GlobalFree (hGlobal)
.如果真结束
CloseClipboard ()
返回 (ret > 0)
.子程序 字节集_取长度, 整数型
.参数 字节集, 字节集
.局部变量 返回值, 整数型
.局部变量 Address, 整数型
置入代码 ({ 139, 93, 8, 139, 27, 139, 91, 4, 137, 93, 252 }) ' 取字节集长度
' 如果真 (字节集 = { })
' 返回 (0)
' Address = 字节集_取指针 (字节集)
' RtlMoveMemory_Int (返回值, Address - 4, 4)
返回 (返回值)
作者: 凌木
.版本 2
.子程序 _临时子程序
' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
屏幕_写字 (“这是测试文本”, 200, 200, , 80, #红色)
.子程序 屏幕_写字, , 公开
.参数 文本, 文本型, 可空, 默认为“屏幕写字”
.参数 横坐标, 整数型, 可空, 默认0
.参数 纵坐标, 整数型, 可空, 默认0
.参数 字体, 文本型, 可空, 默认宋体,必须保证字体有效
.参数 字体大小, 整数型, 可空, 默认20
.参数 文本颜色, 整数型, 可空, 默认 #红色
.局部变量 临字体, 字体
.如果真 (载入 (窗口1, , 假))
.如果真 (是否为空 (文本))
文本 = “屏幕写字”
.如果真结束
窗口1.标签1.标题 = 文本
窗口1.左边 = 横坐标
窗口1.顶边 = 纵坐标
.如果真 (是否为空 (字体))
字体 = “宋体”
.如果真结束
.如果真 (是否为空 (字体大小))
字体大小 = 20
.如果真结束
.如果真 (是否为空 (文本颜色))
文本颜色 = #红色
.如果真结束
临字体.字体名称 = 字体
临字体.字体大小 = 字体大小
窗口1.标签1.字体 = 临字体
窗口1.标签1.文本颜色 = 文本颜色
.如果真结束
.子程序 屏幕_写字_擦除, , , ' 本源码来自三叶资源网(www.sanye.cx)
.如果真 (是否已创建 (窗口1))
窗口1.销毁 ()