请问剪贴版的数据如何识别?
事情是这样子的:之前用了 a版 的 Ansi2Uncode 字符转换函数,弄了一个转换字符串小程序,辅助汉化什么的。
我使用 Hex Workshop 4.23 编辑文件的时候,从 Hex Workshop 从编辑的文件中复制十六进制(例如:5A6B7C8D)到剪贴板后可以粘贴回当前的编辑器中的。但是,在记事本中复制十六进制字符串到剪贴板中就不能粘贴到 Hex Workshop 中,请问如何将记事本的内容复制到剪贴板后能够让 Hex Workshop 识别应用?谢谢! 从 Hex Workshop 从编辑的文件中复制十六进制(例如:5A6B7C8D)到剪贴板后 粘贴到记事本中看看是不是字符串及相同的字符串
如果复制出来就是二进制类型那就需要转换一下 回复 2# afan
试过了,从 Hex Workshop 编辑的文件中复制十六进制(例如:5A6B7C8D)到剪贴板后,粘贴到记事本也是 5A6B7C8D 的。所以说这个弄不明白。 看下 _ClipBoard_EnumFormats 及其它 _ClipBoard_* 回复 4# afan
谢谢 A 版指点!有头绪了:
记事本复制的是:OEM Text
Hex Workshop:Unicode Text
试试修改 au3 看看行不行,谢谢! 回复 4# afan
A 版请帮忙列个例子,帮助里例子的不怎么看懂!谢谢!
1、获取剪贴板的数据
_ClipBoard_GetData(?)
2、想知道剪贴板的数据是何类型
? msgbox(0,"字符串的类型",$类型变量)
3、将剪贴板的数据转换类型
_ClipBoard_SetData(“字符串”,$CF_UNICODETEXT) #include <Clipboard.au3>
;~ 1、获取剪贴板的数据
Local $b = _ClipBoard_GetData($CF_UNICODETEXT)
MsgBox(0, '获取剪贴板的数据', $b)
;~ 2、想知道剪贴板的数据是何类型
Local $iFormat
If _ClipBoard_Open(0) Then
Do
$iFormat = _ClipBoard_EnumFormats($iFormat)
If $iFormat <> 0 Then
MsgBox(0, "剪贴板格式: " & $iFormat, _ClipBoard_FormatStr($iFormat) & @LF & _ClipBoard_GetData($iFormat))
EndIf
Until $iFormat = 0
_ClipBoard_Close()
EndIf
;~ 3、将剪贴板的数据转换类型
_ClipBoard_SetData('字符串test', $CF_UNICODETEXT)
If _ClipBoard_Open(0) Then
Dim $iFormat = 0
Do
$iFormat = _ClipBoard_EnumFormats($iFormat)
If $iFormat <> 0 Then
MsgBox(64, "剪贴板格式: " & $iFormat, _ClipBoard_FormatStr($iFormat) & @LF & _ClipBoard_GetData($iFormat))
EndIf
Until $iFormat = 0
_ClipBoard_Close()
EndIf 回复 7# afan
谢谢 A 版的热心帮助,但是应用不了在 Hex Workshop 软件上。附上安装包(精品)让 A 版试试,谢谢!链接: http://pan.baidu.com/s/1eRj4QYm 密码: m4pr
如果在 Hex Workshop里有复制十六进制字符,发现就算在记事本上复制的字符,在 Hex Workshop 上粘贴也是原来复制过的字符(与记事本上复制的不同)好像有两个剪贴板似的。 Hex Workshop 的版本就数 4.23 版最好!十六进制编辑、比较文件非常好用的!自制安装包已注册。原汁原味的基础上只添加了注册信息。 它的剪贴板可能是独享的 学习了,谢谢诸位~{:face (332):}
页:
[1]