问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

VB编程中,搜寻到文件在列表中例出,并用鼠标双击它打开文件或程序!

发布网友 发布时间:2024-03-10 23:42

我来回答

5个回答

热心网友 时间:2024-07-27 20:01

将文件夹中的文件列出,这个有多种办法,你可以引用FileObjectSystem或用Drive+Dir+File来实现,这个都不困难。关键你要在列表框打开选中的文件,这个有些问题,首先你的文件格式都不统一,打开方式也不一样,你可以根据文件扩展名来设置打开文件方式,不过写起来没那么容易。

热心网友 时间:2024-07-27 20:03

楼主,你不是写好了?递归遍历文件搜索吗?
不能实现搜索吗?

噢,搜索实现了,是想运行选择的文件吧?
我们知道,在windows系统中,能直接运行的只有三种文件,.exe .bat .com其他所有的文件都是通过调用这三种文件而运行的,所以有文件关联的概念.比如一个文本文件,1.txt吧,它的打开是由于windows设定好有notepad.exe文件运行调用1.txt所以我们才能使用,在VB中如果您想实现直接找到关联程序来运行文件那么请用一个api函数,既然您能写出递归,那么也有一定的编程水平了,api的声明等等就不用多解释了.下面的代码您试着在您的程序中用吧.

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute Me.hWnd, "open", fn, "", "", 1
'fn就是要打开的文件的绝对路径,比如c:\111\222\3.doc

有个使用前提,比如上面的3.doc系统需要有它的文件关联程序才可以打开,比如office word.
顺带介绍一下关于批处理的打开任意文件的关联程序并调用它,还用上面的例
start c:\111\222\3.doc

对了,补充一下me.hwnd是以窗体句柄打开文件,这个参数设置为0,貌似以自身句柄打开文件.

热心网友 时间:2024-07-27 20:03

在上述代码的基础上,复制下面代码,即可实现你需要的功能!

Private Sub List1_DblClick() '
Dim S As String
Const Sh As String = "rundll32 url.dll,FileProtocolHandler ""#"""
S = List1.Text
Shell Replace(Sh, "#", S) '双击它打开文件或程序(所有注册类型的文件)
End Sub

热心网友 时间:2024-07-27 20:00

不知道是不是你需要的答案
就在你代码上加了个事件,一个声明
复制代码进去就可以了!
Option Explicit
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" _
(ByVal hWnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long

Dim fs, folder, subfolders, Files, i, j
Dim mStop As Boolean

Function digui(path)
If mStop = True Then Exit Function
Set folder = fs.getfolder(path)
Set subfolders = folder.subfolders
Set Files = folder.Files
For Each i In Files
If InStr(1, i.Name, Text1.Text, 1) Then
List1.AddItem i.path
End If
DoEvents
Next
For Each j In subfolders
digui (j.path)
Next
End Function

Private Sub Command1_Click()
If Command1.Caption = "搜寻" Then
Command1.Caption = "停止"
mStop = False
List1.Clear
Set fs = CreateObject("scripting.filesystemobject")
digui (Dir1.path)
If List1.ListCount = 1 Then

End If
Command1.Caption = "搜寻"
Else
Command1.Caption = "搜寻"
mStop = True
End If
End Sub

Private Sub Drive1_Change()
Dir1.path = Drive1.Drive
End Sub

Private Sub List1_DblClick()
Call ShellExecute(Me.hWnd, vbNullString, List1.Text, vbNullString, List1.Text, vbNormalFocus)
End Sub
这个代码唯一的缺点就是没有文件类型定义的无法打开!
如果觉得不好用,可以尝试
修改这个代码为:
Private Sub List1_DblClick()
Shell "explorer " & List1.Text, 1
End Sub
自己感觉就可以了!觉得行的话!就用吧!

热心网友 时间:2024-07-27 19:57

添加一个Dirve控件,Dri控件,和Film控件!在窗口中将会有三个控件、在Dri中编入:Dirve.path=Dri.dirve在Film中编入film.path=dri.divre!点F5运行。
VB编程中,搜寻到文件在列表中例出,并用鼠标双击它打开文件或程序!

ShellExecute Me.hWnd, "open", fn, "", "", 1 'fn就是要打开的文件的绝对路径,比如c:\111\222\3.doc 有个使用前提,比如上面的3.doc系统需要有它的文件关联程序才可以打开,比如office word.顺带介绍一下关于批处理的打开任意文件的关联程序并调用它,还用上面的例 start c:\111\222\3.doc...

vb获取当前文件夹下所有文件(显示时带软件图标),双击可以直接打开选定的...

直接打开是什么意思?exe可以直接打开,doc需要通过office打开

VB编程如何获取鼠标双击事件

Option Explicit Private Declare Function GetDoubleClickTime Lib "user32" () As Long '获得双击时间间隔 Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer '获得鼠标状态 Dim PreviousTime As Double Dim DBClickTime As Double Private Sub Form_Load()DBCli...

在VB中,如何用鼠标右键双击界面来退出程序?

界面就是from控件;from的双击事件;事件过程写endPrivate Sub Form_DblClick()End End Sub

VB中,当用鼠标双击一文本框时,触发该文本框的事件依次为?

顺序?不一样...举个例子说明吧 一个文本框的情况下你操作的是文本框1,并且文本框1已经获取到了焦点,顺序如下鼠标移动→鼠标按下→鼠标松开→单击→双击→松开 如果是两个文本框并且暂没获取焦点 顺序如下鼠标移动→鼠标按下→获取焦点→鼠标松开→单击→双击→松开 ...

VB编程中同一个按钮 点一下运行程序 再点一下关闭该程序 如何编写其代 ...

希望能帮到你……private m_Action as long '这个变量来标示是什么打开或者关闭动作 Private Sub Command1_Click()if m_Action=0 then 'm_Action=0 标示打开 '---你的打开代码 else 'm_Action=1 标示关闭 '---你的关闭代码 end if end Sub ...

vb dblcick是哪个

vb dblclick是双击事件。以下是关于vb dblclick的 双击事件解释:在Visual Basic编程中,`dblclick`是一个事件,它发生在用户对一个对象进行双击操作时触发。当用户快速连续点击两次鼠标按键时,该事件被触发,允许程序员编写代码来响应这一特定的用户动作。功能与应用:双击事件在多种场景中有应用。例如,在...

vb编程文件(vbp)如何打开

当涉及到VB编程时,我们常常会遇到两种类型的文件:frm和vbp。frm文件代表Visual Basic应用程序的窗体文件,而vbp则是VB项目文件,包含了程序的主环境和设置。这两种文件都是VB项目生成的必要组成部分。要打开vbp文件,前提是你已经安装了Visual Basic。只需在你的电脑上找到这个文件,双击它,VB的集成开发...

VB编程如何打开和关闭EXCEL文件?

给个文件名即可轻而易举地打开文本文件。此法适合于打开程序的Readme文件(注意:在可执行文件和要打开的文本文件之间要有空格): Shell "NotePad.EXE f:\d.txt ",vbNormalFucus;五、用RichTextBox控件自身的LoadFile属性打开文件: RichTextBox1.LoadFile "f:\d.txt ", rtfText。

在vb中使用下拉列表,当选中其中任意一项然后执行相应的可执行程序,这个...

在ComboBox的Click或Scroll事件里判断ComboBox的ListIndex属性。鱼:下面代码帮助理解 Private Sub Form_Load()For i = 0 To 10 Combo1.AddItem i Next i End Sub Private Sub Combo1_Click()Form1.Caption = Combo1.ListIndex End Sub Private Sub Combo1_Scroll()Form1.Caption = Combo1.List...

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
...没有一些能够尝试的办法,住的别墅,接管口在地下埋着,急!!!_百度知... 我家农村住宅的西北角被人埋了四面镜子和十个镜子,我家这几年母亲老 不小心把美服LOL转到大洋洲了 怎么转回来 柚子皮别丢,放水里煮一煮,三个作用厉害了,早知道就不丢了 白醋泡柚子皮真厉害了,我也是刚知道,看完赶紧提醒家人,真实用 英雄联盟欧服的水平怎么样?欧服它有几个区呢?他和韩服国服相比的话... 英雄联盟欧服账号被暂封要怎么办 因为卡有点问题 充的钱要先还回去... 我打开欧服的英雄联盟的时候出现一个这个东西,求助啊。。。 英雄联盟美服和欧服一样么,怎么我进美服官网下和欧服官网下中文翻译都是... 0.18乘以8.45的验算是多少? 从湖州南白鱼潭到首创悦府怎么走 虎年女孩2010年阴历11月14(阳历12月19日)下午16点15分出生,五行缺属和... ...姓蒙,2010年阳历12月21日,阴历11月16日中午12时15分出生,希望以生辰... 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 柏丽嘉全屋定制几线品牌 什么东西最硬女孩子最喜欢 什么东西越硬女人越喜欢,特别是结了婚的女人更是爱的要死,这是什么东西... 如何从化学和物理的角度分析人触电电死,电子在人体内运作的过程? 感应起电用手触碰导体,电子会怎么转移?比如这个,那A那边是负电荷,B是... 导体里的电子为什么跑得那么慢? 天津女排队员的博客 刚做完全切双眼皮 应该用点什么不留疤 验车码如何拍照? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 从马关客运站到曲靖的客车早上几点出发 apply one's mind to sth.对吧,后面可不可以换成doing sth._百度知... 英语短语中的此to非彼to 英语问题紧急!!! 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 最近要首保了,想在网上买坐垫,首保的时候顺便叫4s店帮我装一下,不知 ... 英联杯在哪个app上直播 黄鳝与黄鸭叫能一起炖汤吗 鸭子吃黄鳝骨头会死吗 多汗症能遗传给下一代吗? 多汗症遗传吗 遗传的多汗症应该怎么治疗? 微信手机号在24小时内,已绑定两个,已达到限制,不能在绑定其他微信... 公路客运免费携带多少行李 我老公来我妈家,进屋就脱了汗打湿了的上衣,光着上身在沙发里,你们_百 ... ...大我一岁,今天中午我去她家吃饭,结果她一进屋就把鞋脱了。她的脚特... ...成为中国历史上少见的长寿皇帝,他活了多少岁? 宋光宗活了多少岁 c语言,随机生成100个数,在文档1.txy,然后进行排序,从小到大,放在2.T... ...从文本1.txt中读取数字,并降序排序后输出到2.txt中。数字之间可能被... 生成一个100个数的数组,按顺序每四个为一块,进行排序。C语言或C++如何... GTX470比GTX650、GTX660性能哪个强大? rx460相当于什么n卡 博思得热敏打印机打不出字? 成语主角 不求甚解 成语典故:不求甚解
  • 焦点

最新推荐

猜你喜欢

热门推荐