问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB关于OLE拖放的问题

发布网友 发布时间:2022-05-18 19:46

我来回答

1个回答

热心网友 时间:2023-10-28 00:15

'根据你的建议,重新作了修改,解决"我的文档"无法显示的问题"。
'分二步:
'一、新建一个模块,复制下面代码到模块中
Option Explicit
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" _
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
lParam As Any) As Long
Private Declare Function SendMessageByNum Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SendMessageByString Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String) As Long
Private Declare Function FindWindow Lib "User32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "User32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function GetForegroundWindow Lib "User32" () As Long
Private Declare Function GetClassName Lib "User32" Alias "GetClassNameA" (ByVal hWnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
Private Declare Function GetWindowText Lib "User32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function SetCapture Lib "User32" (ByVal hWnd As Long) As Long
Private Declare Function GetCursorPos Lib "User32" (lpPoint As POINTAPI) As Long
Private Declare Function WindowFromPoint Lib "User32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long
Private Declare Function GetParent Lib "User32" (ByVal hWnd As Long) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Sub keybd_event Lib "User32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)

Private Const PROCESS_TERMINATE = &H1
Private Const KEYEVENTF_EXTENDEDKEY = &H1
Private Const KEYEVENTF_KEYUP = &H2
Private Const CB_GETCURSEL = &H147
Private Const CB_GETLBTEXTLEN = &H149
Private Const CB_GETLBTEXT = &H148

Private Type POINTAPI
X As Long
Y As Long
End Type

Function GetPath() As String
Dim lu_POINT As POINTAPI, Curwindow As Long, parentWnd As Long
Dim S As String, Hwd As Long, K As Long, Recn As Long
Call GetCursorPos(lu_POINT)
Curwindow = WindowFromPoint(lu_POINT.X, lu_POINT.Y)
parentWnd = GetParent(Curwindow)
Do While parentWnd <> 0
Curwindow = GetParent(parentWnd)
If Curwindow = 0 Then Exit Do
parentWnd = Curwindow
Loop
Hwd = parentWnd
S = String(254, 0)
K = GetClassName(Hwd, S, 254)
S = StrConv(LeftB(StrConv(S, vbFromUnicode), K), vbUnicode)

Select Case LCase(S)
Case "cabinetwclass"
Hwd = FindWindowEx(Hwd, 0, "WorkerW", vbNullString)
Hwd = FindWindowEx(Hwd, 0, "ReBarWindow32", vbNullString)
Hwd = FindWindowEx(Hwd, 0, "ComboBoxEx32", vbNullString)
Recn = SendMessage(Hwd, CB_GETCURSEL, K, 0)
K = SendMessageByNum(Hwd, CB_GETLBTEXTLEN, Recn, 0)
If K > 0 Then
GetPath = String(K, 0)
SendMessageByString Hwd, CB_GETLBTEXT, Recn, GetPath
If GetPath = "我的文档" Then
GetPath = CreateObject("Wscript.Shell").SpecialFolders("MyDocuments")
End If
End If
Case "progman"
GetPath = CreateObject("Shell.Application").Namespace(&H10).self.Path
End Select

End Function

'二、当一个对象拖动到资源管理器后 ,调用下面函数即可获得外部已打开的那个文件夹的路径 :
dim Path as string
Path=GetPath
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
华硕X205TABIOS里launchcsm这个选项怎么找 朋友在一起,本来想着相互花钱不要计较那么多的,结果对方却老是想着比... 别人叫你请他吃东西,那他是不是不讨厌你。算是给你机会吗?? 哪种乌冬面比较好吃 ...膳,你小时候最爱吃那儿的豌豆黄儿。还记得那回我带你去北海吗... 苍梧鸟是什么意思? 右手五指受伤其中小指无名指各截掉一节可评几级伤残 ...桡骨骨折伤残鉴定怎么算呢,是左手的算左手的右手算右手,还是一起算... 工伤伤残鉴定中,对右手左手有区别吗? 车子出了事故,4s店在维修合同上写的交车日期,如果4s店超出预订时间交车... 请问一下,用vb提取网页中的链接,应该知道些什么知识,本人是新手。 WLK铭文在哪学? 开了WLK之后,铭文对法师有用吗?若有用有什么用呢? WLK中新出的铭文系统,我小白,求解释。 WLK以后,铭文应该怎么冲?WLK的小雕文如何领悟? 有哪些港台爱情偶像剧? WLK的铭文从1到最高上限需要分解哪些采药的数据,请先行者发下资料,谢谢! 买房等不动产必须签合同吗 “84”消毒液的有效成分次氯酸钠(化学式为NaClO)中氯元素的化合价为______价,Cl2常作自来水消毒剂,其 求大神指点 FindWindowEx (0, 0, 字符 (0), 字符 (0)) 这个在vb.net 要怎么写呀? WLK中铭文专业各个职业的铭文数是多少? 不动产合同可以约定履行地吗? 隔离技术操作原则 WLK铭文问题 诚心请教 胡歌和安以轩咋了? 易语言判断外部IE是否打开某网页 WLK铭文有什么用 C#在winform下或在控制台下怎么监测捕捉浏览器的url? 不动产合同成立与生效的时间 wlk小号多少级可以搓铭文卡牌 急,求如何遍历IE窗口中的控件元素 微信扫过的二维码记录从哪里可以找到? 找一款RPG恐怖游戏? 求一款很老的单机3D欧美RPG冒险类游戏,95年左右,第一视角,同时四个角色参与战斗,后来的魔法门_百度问一问 一款老rpg游戏,开始角色有剑士法师弓箭手,可以选性别,你可以最多选两个角色,出生在一个村庄里? 快手一方关注另一方没关注会显示什么 司法拍卖税费计算问题,急急急! 红绿灯上小圆形摄像头是什么用的? 这种小圆的摄像头是干什么的?路边立这上面写着信息采集图像 小马路上有个圆形摄像头 排气扇中间有一个小圆是监控吗 有一种半圆形的监控摄像头连着一个白色的小球,叫什么名字 为什么我的米6相机突然没有打开前置摄像头的那个小圆?之前一直没事的,现在没法打开前置摄像头 你说24小时学校监控都开着,那个教室的小摄像头呢(圆形的)谢谢 vivo x5max摄像头边上有个小圆眼是干什么的 这种摄像头是可以360°旋转的吗,在我的左后方,可以看清我的电脑屏幕在干什么吗 汽车保险杠,装摄像头的小圆圈盖儿怎么拿下来?汽车保险杠,装摄像头的小圆圈盖儿怎么拿下来?_百度问一问 菜品搭配通俗易懂的说法 菜肴应该怎样科学荤素搭配? 各种各样美食的搭配方式,具体列明