Line Input:以行为单位取得文件内容,以行为单位是指从当前位置开始到下一个换行符为止的内宏V换行符是Chr(13) & Chr(10)两个字节l成QVB中已定义了常量vbCrLfQ可直接使用。要注意的是Line Inputd一行时会把行尾的换行符LQ因此我们在d每行内容时要记得补上换行W才能保持得到的内容与文件一致?/font>
FreeFile:得到I闲的文件号Q用q个函数取得文g号可以避免文件号的冲H?/font>
例如Q?br />
Dim strFileName AsString'文g?/span> Dim lngHandle AsLong'文g句柄 Dim strAll AsString'所d的文本文件的所有内?/span> Dim strLine AsString'在@环中存放每行的内?/span>
Dim strFileName1 AsString'W一个文?/span> Dim strFileName2 AsString'W二个文?/span> Dim strOutput AsString'合ƈ后的文g Dim aryContent() AsByte'用来d文g的数l,每次d前要重定?/span> strFileName1
="c:\a.bmp"
strFileName2
="c:\b.bmp"
strOutput
="c:\out.bmp"
'注意下面三个Open语句都是用Binary模式打开?/span>
Open strOutput
For Binary As #100 Open strFileName1
For Binary As #1
Open strFileName2
For Binary As #2
Put #
100, , LOF(1) '取得W一文g的长度,q把它写入到合ƈ文g的文件头?/span>
Put #
100, , LOF(2) '取得W二文g的长度,q写入到合ƈ文g的文件头?/span> ReDim aryContent(LOF(1) -1) '重定义数l,取文件做准备 Get #1, , aryContent() '取得W一文g的内容到数组 Put #
100, , aryContent() '把第一文g的内容写到合q文件中 ReDim aryContent(LOF(2) -1)
Get #2, , aryContent() Put #100, , aryContent()
'关闭文g
Close #
1
Close #
2
Close #
100
End Sub
实现文g的拆?/font>
PrivateSub SplitFile()
Dim strFileName1 AsString Dim strFileName2 AsString Dim strFileSplit AsString Dim aryContent() AsByte Dim lngLOF(1) AsLong'存放从文件头取得的两个文件的长度 strFileName1
="c:\a2.bmp"
strFileName2
="c:\b2.bmp"
strFileSplit
="c:\out.bmp"
Open strFileSplit
For Binary As #100
Get #100, , lngLOF(0) '取得W一文g的长?/span> Get #100, , lngLOF(1) 'W二文g的长?/span> Open strFileName1
For Binary As #1
Open strFileName2
For Binary As #2
ReDim aryContent(lngLOF(0)-1) '用第一文g的长度重定义数组QؓdW一文g做准?/span> Get #100, 9, aryContent() '从第9字节Q即文g后面开始读取第一文g的内?/span>
Put #
1, , aryContent() '把取得的内容写入到拆分文件中 ReDim aryContent(lngLOF(1)-1)
Get #100, 9+ lngLOF(0) +1, aryContent() '从第9字节再加上第一文g的长度处开始读取第二文件的内容Q这里可以清楚地看到文g头的作用?/span>
Put #
2
, , aryContent
Close #1
Close #
2
Close #
100 MsgBox"拆分完成?/span>
"
, vbInformation
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (LpBrowseInfo As BROWSEINFO) AsLong Private Declare Function SHGetPathFromIDlist Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl AsLong, ByVal pszPath AsString) AsLong Private Type BROWSEINFO hOwner AsLong pidlroot AsLong pszDisplayName AsString lpszTitle AsString ulFlags AsLong lpfn AsLong lparam AsLong iImage AsLong End Type PublicFunction GetFolder(Optional Title AsString, Optional hwnd) AsString Dim bi As BROWSEINFO Dim pidl AsLong Dim folder AsString folder =Space(255) With bi IfIsNumeric(hwnd) Then .hOwner = hwnd .ulFlags = BIF_RETURNONLYFSDIRS .pidlroot =0 If Title <>""Then .lpszTitle = Title &Chr$(0) Else .lpszTitle ="选择目录"&Chr$(0) EndIf EndWith pidl = SHBrowseForFolder(bi) If SHGetPathFromIDlist(ByVal pidl, ByVal folder) Then GetFolder =Left(folder, InStr(folder, Chr$(0)) -1) Else GetFolder ="" EndIf End Function \'调用方式 \'FilePath=GetFolder("打开一个目?, Form1.hwnd)
]]>vb 实现查找q程http://www.aygfsteel.com/freebird/archive/2006/06/28/55519.htmlfreebirdfreebirdWed, 28 Jun 2006 05:17:00 GMThttp://www.aygfsteel.com/freebird/archive/2006/06/28/55519.htmlhttp://www.aygfsteel.com/freebird/comments/55519.htmlhttp://www.aygfsteel.com/freebird/archive/2006/06/28/55519.html#Feedback0http://www.aygfsteel.com/freebird/comments/commentRss/55519.htmlhttp://www.aygfsteel.com/freebird/services/trackbacks/55519.html
vb查找q程Q用到的API函数?br /> Private Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Private Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal blnheritHandle As Long, ByVal dwAppProcessId As Long) As Long
Private Declare Function TerminateProcess Lib "kernel32" (ByVal ApphProcess As Long, ByVal uExitCode As Long) As Long
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 1024
End Type
Private Const TH32CS_SNAPHEAPLIST = &H1
Private Const TH32CS_SNAPPROCESS = &H2
Private Const TH32CS_SNAPTHREAD = &H4
Private Const TH32CS_SNAPMODULE = &H8
Private Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Private Const TH32CS_INHERIT = &H80000000
Private Declare Function RegisterWindowMessage Lib "user32" Alias "RegisterWindowMessageA" (ByVal lpString As String) As Long Private WM_TASKBARCREATED As Long
'********************************************************************** '在查扑և?br />'********************************************************************** Private Function FindPro(jinchenming As String) Dim my As PROCESSENTRY32 Dim l As Long Dim l1 As Long Dim mName As String
Dim I As Integer l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0) If l Then my.dwSize = 1060
If (Process32First(l, my)) Then '遍历开?/font>
Do I = InStr(1, my.szExeFile, Chr(0))
mName = LCase(Left(my.szExeFile, I - 1))
If mName = jinchenming Then
PID = my.th32ProcessID
pname = mName
Dim mProcID As Long
mProcID = OpenProcess(1&, -1&, PID)
MsgBox pname 'TerminateProcess mProcID, 0&
Exit Function End If Loop Until (Process32Next(l, my) < 1) End If l1 = CloseHandle(l) End If End Function