VB 将长路径转为短路径 & 获取剪粘板中的文件的列表
来源:互联网 发布:编程思想有哪些 编辑:程序博客网 时间:2024/06/06 08:57
将长路径转为短路径
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Private Function ShortPath(ByVal FileName As String) As String
Dim S As String
On Error GoTo exitFunc:
S = String(255, " ")
GetShortPathName FileName, S, 255
ShortPath = Left(S, InStr(S, Chr(0)) - 1)
exitFunc:
End Function
获取剪粘板中的图片文件的列表
Private Const CF_HDROP = 15
Private Type POINT
x As Long
y As Long
End Type
Private Type DROPFILES
pFiles As Long
pt As POINT
fNC As Long
fWide As Long
End Type
Private Declare Function GlobalSize Lib "kernel32" _
(ByVal hMem As Long) As Long
Private Declare Function GlobalLock Lib "kernel32" _
(ByVal hMem As Long) As Long
Private Declare Function GlobalUnlock Lib "kernel32" _
(ByVal hMem As Long) As Long
Private Declare Function OpenClipboard Lib "user32" _
(ByVal hwnd As Long) As Long
Private Declare Function CloseClipboard Lib "user32" () As Long
Private Declare Function GetClipboardData Lib "user32" _
(ByVal wFormat As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
(Destination As Any, Source As Any, ByVal Length As Long)
Public mvarfilelist As String
Public Function ShowFilesOnClipboard() As String
Dim lHandle As Long
Dim lpResults As Long
Dim lRet As Long
Dim df As DROPFILES
Dim strDest As String
Dim lBufferSize As Long
Dim arBuffer() As Byte
Dim vNames As Variant
Dim i As Long
ShowFilesOnClipboard = ""
If OpenClipboard(0) Then
lHandle = GetClipboardData(CF_HDROP)
' If you don't find a CF_HDROP, you don't want to process anything
If lHandle > 0 Then
lpResults = GlobalLock(lHandle)
lBufferSize = GlobalSize(lpResults)
ReDim arBuffer(0 To lBufferSize)
CopyMemory df, ByVal lpResults, Len(df)
Call CopyMemory(arBuffer(0), ByVal lpResults + df.pFiles, _
(lBufferSize - Len(df)))
If df.fWide = 1 Then
' it is wide chars--unicode
strDest = arBuffer
Else
strDest = StrConv(arBuffer, vbUnicode)
End If
GlobalUnlock lHandle
vNames = Split(strDest, vbNullChar)
i = 0
While Len(vNames(i)) > 0
ShowFilesOnClipboard = ShowFilesOnClipboard & "<img src='file:///" & ShortPath(vNames(i)) & "'><br>"
i = i + 1
Wend
End If
End If
CloseClipboard
End Function
- VB 将长路径转为短路径 & 获取剪粘板中的文件的列表
- python: 将列表中的字符串 连接成一个 长路径
- 如何将长路径转换为短路径
- VB查找指定路径中的文件和目录列表
- Android将"content://"类型的uri转为文件路径
- 文件的长路径如何转换为短路径(dos格式) 转自csdn
- Android studio 获取raw 的文件路径,并转为URI
- 将网页的相对路径转为绝对路径
- 将相对路径转为绝对路径的方法
- VB最短路径算法
- VB如何获取所文件选路径?
- Python获取文件夹下所有的文件路径列表
- POJ 2449 第k长的最短路径
- 删除长路径文件
- java--文件路径--获取项目的路径
- Java文件路径/服务器路径的获取
- VB获取某个进程的路径代码。
- vb选择文件路径
- 于心未死
- test
- 差异备份、增量备份的区别
- 在Qt 4中如何固定窗口的大小
- 宝姿教父的隐秘时尚帝国
- VB 将长路径转为短路径 & 获取剪粘板中的文件的列表
- 《管理沟通》培训有感--知易行难
- powerpc "Hello world" 汇编代码的一些看法
- CodeFans
- hard disk boot priority
- 动态网页静态化
- 数控产业发展的关键:控制软件产业化
- 【转】80后需要牢记的十大人生底线
- Fedora 11 安装ns2