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...