
常用软件类: |
|杀毒安全 | |联络聊天 | |网络软件 | |多媒体类 | |系统工具 | |图形图像 | |系统工具 | |应用软件 | |行业软件 |
开发设计类: |
|动画制作 | |图像处理 | |3D设计 | |操作系统 | |站长学院 | |网络相关 | |WEB设计 | |数据库类 | |程序开发 |
如何用 VB 启动其他程序或开启各类文件?
要在 VB 中启动其他程序或开启各类文件,最简单的方法就是使用 Shell 函数,例如:要开启 C:\Test.txt 这个文字文件,则要启动记事本来开启这个文件案,程序如下:
| Dim RetVal As Long RetVal = Shell("C:\Windows\Notepad.exe C:\Test.txt", 3) ’3代表视窗会最大化,并具有驻点,细节请查 Help |
| ’在声明区中加入以下声明: Const MAX_PATH = 260 Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long Public Function GetWinPath() Dim strFolder As String Dim lngResult As Long strFolder = String(MAX_PATH, 0) lngResult = GetWindowsDirectory(strFolder, MAX_PATH) If lngResult <> 0 Then GetWinPath = Left(strFolder, InStr(strFolder, Chr(0)) - 1) Else GetWinPath = "" End If End Function ’在程序中使用方法如下: Private Sub Command1_Click() Call MsgBox("您电脑中 Windows 目录的正确路径是: " & GetWinPath, vbInformation) End Sub |
| ’在声明区中加入以下声明: ’32位元 ’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 ’Const EM_UNDO = &HC7 ’16位元 Private Declare Function SendMessage Lib "User" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, lParam As Any) As Long Const WM_USER = &H400 Const EM_UNDO = WM_USER + 23 ’在程序中使用的方式如下: ( Undo Text1 中的输入 ) Private Sub Command1_Click() Dim UndoResult As Long UndoResult = SendMessage(Text1.hwnd, EM_UNDO, 0, 0) ’传回值 UndoResult = -1 表示 Undo 不成功 End Sub ’使用以上的方法,第一次是 Undo ,第二次就等于是 Redo |
| Private Sub Command1_Click() Dim i As Integer, A As Integer, B As Integer, C As String A = InputBox("请输入年份", "某年每个月的第一天是星期几") Form1.Cls For i = 1 To 12 C = A & "-" & i & "-1" B = Weekday(C) Select Case B Case vbSunday Print A & "年" & i & "月1日是 星期日" Case vbMonday Print A & "年" & i & "月1日是 星期一" Case vbTuesday Print A & "年" & i & "月1日是 星期二" Case vbWednesday Print A & "年" & i & "月1日是 星期三" Case vbThursday Print A & "年" & i & "月1日是 星期四" Case vbFriday Print A & "年" & i & "月1日是 星期五" Case vbSaturday Print A & "年" & i & "月1日是 星期六" End Select Next i End Sub |
| Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Const SWP_HIDEWINDOW = &H80 ’隐藏视窗 Const SWP_SHOWWINDOW = &H40 ’显示视窗 ’在程序中若要隐藏任务栏 Private Sub Command1_Click() Dim Thwnd As Long Thwnd = FindWindow("Shell_traywnd", "") Call SetWindowPos(Thwnd, 0, 0, 0, 0, 0, SWP_HIDEWINDOW) End Sub ’在程序中若要再显示任务栏 Private Sub Command2_Click() Dim Thwnd As Long Thwnd = FindWindow("Shell_traywnd", "") Call SetWindowPos(Thwnd, 0, 0, 0, 0, 0, SWP_SHOWWINDOW) End Sub |
| ’在模组的声明区中加入以下声明: Public Type SHFILEOPSTRUCT hwnd As Long wFunc As Long pFrom As String pTo As String fFlags As Integer fAnyOperationsAborted As Long hNameMappings As Long lpszProgressTitle As Long End Type Public Declare Function SHFileOperation Lib "shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long Public Const FO_DELETE = &H3 Public Const FOF_ALLOWUNDO = &H40 ’可以还原 Public Const FOF_NOCONFIRMATION = &H10 ’不出现确认对话框 Public Const FOF_SILENT = &H4 ’在程序中之使用方法如下: ’以下之例子会出现确认对话框,文件也会移到资源回收站。 Private Sub Command1_Click() Dim SHop As SHFILEOPSTRUCT Dim strFile As String ’要删除的文件(含全路径) strFile = "c:\test.txt" With SHop .wFunc = FO_DELETE .pFrom = strFile .fFlags = FOF_ALLOWUNDO End With SHFileOperation SHop End Sub ’若要调整,只要更改 fFlags 之值即可,如下: .fFlags = FOF_SILENT ’删除文件,出现确认对话框,文件不移到资源回收站。 .fFlags = FOF_NOCONFIRMATION ’删除文件,不出现确认对话框,文件也不移到资源回收站。 |
上一页 [1] [2] [3] [4] [5] [6] [7] 下一页