我想写的小程序,但是在写需求分析的时候发现我不能实现远程管理,这个问题就是,我有固定的服务器,固定IP,服务器上装着SQL 我如何能让我写的程序连接到这个服务器的SQL呢!并且能实现修改 如何连接数据库
VB提供的Filecopy函数一次只能拷贝删除一个文件,删除的文件不可恢复。用API函数SHFileOperation可以实现多个文件(允许使用通佩符)甚至是整个目录(包括目录中的下级子目录)的移动、拷贝,也可以完成多个文件(允许使用通佩符)甚至是整个目录(包括目录中的下级子目录)的删除,而且这种删除是可恢复的——将全部删除的文件放入回收站而不是彻底删除。下面介绍该API函数的使用示例。
先添加一个模块,将如下代码粘帖于内。
Declare Function SHFileOperation Lib "Shell32.dll" Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long
Type SHFILEOPSTRUCT
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
hwnd As Long '窗口句柄
wFunc As Long '执行的操作
pFrom As String '原地点
pTo As String '目标地点
fFlags As Long '操作执行方式
fAnyOperationsAborted As Long '错误代码返回
hNameMappings As Long
lpszProgressTitle As String
End Type
Public Const FO_MOVE As Long = &H1
Public Const FO_COPY As Long = &H2
Public Const FO_DELETE As Long = &H3
Public Const FO_RENAME As Long = &H4
Public Const FOF_MULTIDESTFILES As Long = &H1
Public Const FOF_CONFIRMMOUSE As Long = &H2
Public Const FOF_SILENT As Long = &H4
Public Const FOF_RENAMEONCOLLISION As Long = &H8
Public Const FOF_NOCONFIRMATION As Long = &H10
Public Const FOF_WANTMAPPINGHANDLE As Long = &H20
Public Const FOF_CREATEPROGRESSDLG As Long = &H0
Public Const FOF_ALLOWUNDO As Long = &H40
Public Const FOF_FILESONLY As Long = &H80
Public Const FOF_SIMPLEPROGRESS As Long = &H100
Public Const FOF_NOCONFIRMMKDIR As Long = &H200
在主窗体上放置一个命令按钮,将如下代码粘帖在代码窗口中。按下按钮可以操作对应目录。
Private Sub Command1_Click()
Dim DelFileOp As SHFILEOPSTRUCT
Dim result As Long
With DelFileOp
.hwnd = Me.hwnd
.wFunc = FO_COPY '(这三行代码完成拷贝)
.pFrom = "G:\软件备份\金山毒霸\*" & vbNullChar & vbNullChar
.pTo = "F:\KAV2005"
.fFlags = FOF_ALLOWUNDO
End With
result = SHFileOperation(DelFileOp)
If result <> 0 Then ' Operation failed
If Err.LastDllError <> 0 Then
MsgBox Err.LastDllError ' Msgbox the error that occurred in the API.
End If
Else
If DelFileOp.fAnyOperationsAborted <> 0 Then
MsgBox "Operation Failed"
End If
End If
CopyFile("F:\My Documents\winmine.exe","F:\KAV2005\winmine.exe")
'打开文件
ShellExecute Me.hwnd, "open",“F:\KAV2005\update.exe", vbNullString, vbNullString, 3
End Sub
上述示例将完成G:\软件备份\金山毒霸\*.*文件到F:\KAV2005\目录的移动,如果目的目录不存在程序可自动重建;如果目标目录下有下级子目录将一同被移动。如果相拷贝或删除目录需要对上述代码进行修改,将移动部分的两行代码注释掉,将拷贝的三行代码(或删除的两行代码)的注释去掉即可