以下是引用风吹过b在2020-9-3 16:06:17的发言:
应该是这种的。我前就是没找到那个结构的定义。
Call EmptyClipboard 打开剪切板
Len1 = Len(dFiles) 结构长度
Len2 = LenB(StrConv(FileName, vbFromUnicode)) 文件名长度
hMem = GlobalAlloc(GMEM_MOVEABLE Or GMEM_ZEROINIT, Len1 + Len2) 申请剪切板内存
MemPtr = GlobalLock(hMem) 锁定剪切板内存
dFiles.pFiles = Len1
Call CopyMemory(ByVal MemPtr, dFiles, Len1) 结构体写入剪切板内存
Call CopyMemory(ByVal (MemPtr + Len1), ByVal FileName, Len2) 结构体后写入文件名
Call GlobalUnlock(hMem) 开锁剪切板内存
Call SetClipboardData(CF_HDROP, hMem) 设置剪切板内容
Call CloseClipboard 关闭剪切板
应该是这种的。我前就是没找到那个结构的定义。
Call EmptyClipboard 打开剪切板
Len1 = Len(dFiles) 结构长度
Len2 = LenB(StrConv(FileName, vbFromUnicode)) 文件名长度
hMem = GlobalAlloc(GMEM_MOVEABLE Or GMEM_ZEROINIT, Len1 + Len2) 申请剪切板内存
MemPtr = GlobalLock(hMem) 锁定剪切板内存
dFiles.pFiles = Len1
Call CopyMemory(ByVal MemPtr, dFiles, Len1) 结构体写入剪切板内存
Call CopyMemory(ByVal (MemPtr + Len1), ByVal FileName, Len2) 结构体后写入文件名
Call GlobalUnlock(hMem) 开锁剪切板内存
Call SetClipboardData(CF_HDROP, hMem) 设置剪切板内容
Call CloseClipboard 关闭剪切板
老铁牛B 解释的到位 虽然还是不懂 吼吼 看不懂你的注释 是因为不了解内存结构 为什么要这样写 所以不太懂