Option Explicit
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lpFileName As String) As Long
Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongFunction ReadWriteINI(Mode As String, FileName As String, tmpSecname As String, Optional tmpKeyname As String, Optional tmpKeyValue) As String
Dim tmpString As String
Dim secname As String
Dim keyname As String
Dim keyvalue As String
Dim anInt
Dim defaultkey As StringOn Error GoTo ReadWriteINIError
If IsNull(Mode) Or Len(Mode) = 0 Then
  ReadWriteINI = "MODE ERROR "
  Exit Function
End If
If Len(FileName) = 0 Then
  ReadWriteINI = "FileName ERROR "
  Exit Function
End If
If IsNull(tmpSecname) Or Len(tmpSecname) = 0 Then
  ReadWriteINI = "Secname ERROR "
  Exit Function
End If
If IsNull(tmpKeyname) Or Len(tmpKeyname) = 0 Then
  ReadWriteINI = "Keyname ERROR "
  Exit Function
End If' WRITE MODE
  If UCase(Mode) = "WRITE" Then
      If IsNull(tmpKeyValue) Or Len(tmpKeyValue) = 0 Then
        ReadWriteINI = "ERROR KeyValue"
        Exit Function
      Else
        secname = tmpSecname
        keyname = tmpKeyname
        keyvalue = tmpKeyValue
        anInt = WritePrivateProfileString(secname, keyname, keyvalue, FileName)
      End If
  End If
  ' READ MODE
  If UCase(Mode) = "GET" Then
  
      secname = tmpSecname
      keyname = tmpKeyname
      defaultkey = "Failed"
      keyvalue = String$(50, 32)
      anInt = GetPrivateProfileString(secname, keyname, defaultkey, keyvalue, Len(keyvalue), FileName)
      If Left(keyvalue, 6) <> "Failed" Then
         tmpString = keyvalue
         tmpString = RTrim(tmpString)
         tmpString = Left(tmpString, Len(tmpString) - 1)
      End If
      ReadWriteINI = tmpString
  End If
Exit Function
ReadWriteINIError:
   MsgBox Error
   Stop
End FunctionFunction fileexist(fname As String) As Boolean
    On Local Error Resume Next
   fileexist = (Dir(fname) <> "")
End FunctionPublic Sub delete_file(fname As String)
  Dim fso
  Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(fname)) Then
       fso.deletefile (fname)
   End If
   Sleep 1000
   Set fso = Nothing
End SubPublic Function file_exist(fname As String) As Boolean
  Dim fso
  file_exist = False
  Set fso = CreateObject("Scripting.FileSystemObject")
   If (fso.FileExists(fname)) Then
       file_exist = True
   End If
   Sleep 500
   Set fso = Nothing
End FunctionPublic Sub Create_file(fname As String)
   Dim fs
   Dim aa
   Set fs = CreateObject("Scripting.FileSystemObject")
   Set aa = fs.CreateTextFile(fname, True)
   aa.Close
   Set fs = Nothing
End Sub

解决方案 »

  1.   

    Const MOVEFILE_REPLACE_EXISTING = &H1
    Const FILE_ATTRIBUTE_TEMPORARY = &H100
    Const FILE_BEGIN = 0
    Const FILE_SHARE_READ = &H1
    Const FILE_SHARE_WRITE = &H2
    Const CREATE_NEW = 1
    Const OPEN_EXISTING = 3
    Const GENERIC_READ = &H80000000
    Const GENERIC_WRITE = &H40000000
    Private Declare Function SetVolumeLabel Lib "kernel32" Alias "SetVolumeLabelA" (ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Long
    Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
    Private Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long
    Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
    Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
    Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) As Long
    Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
    Private Sub Form_Load()
        Dim sSave As String, hOrgFile As Long, hNewFile As Long, bBytes() As Byte
        Dim sTemp As String, nSize As Long, Ret As Long
        'Ask for a new volume label
        sSave = InputBox("Please enter a new volume label for drive C:\" + vbCrLf + " (if you don't want to change it, leave the textbox blank)")
        If sSave <> "" Then
            SetVolumeLabel "C:\", sSave
        End If
        'Create a buffer
        sTemp = String(260, 0)
        'Get a temporary filename
        GetTempFileName "C:\", "KPD", 0, sTemp
        'Remove all the unnecessary chr$(0)'s
        sTemp = Left$(sTemp, InStr(1, sTemp, Chr$(0)) - 1)
        'Set the file attributes
        SetFileAttributes sTemp, FILE_ATTRIBUTE_TEMPORARY
        'Open the files
        hNewFile = CreateFile(sTemp, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
        hOrgFile = CreateFile("c:\config.sys", GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
        'Get the file size
        nSize = GetFileSize(hOrgFile, 0)
        'Set the file pointer
        SetFilePointer hOrgFile, Int(nSize / 2), 0, FILE_BEGIN
        'Create an array of bytes
        ReDim bBytes(1 To nSize - Int(nSize / 2)) As Byte
        'Read from the file
        ReadFile hOrgFile, bBytes(1), UBound(bBytes), Ret, ByVal 0&
        'Check for errors
        If Ret <> UBound(bBytes) Then MsgBox "Error reading file ..."
        'Write to the file
        WriteFile hNewFile, bBytes(1), UBound(bBytes), Ret, ByVal 0&
        'Check for errors
        If Ret <> UBound(bBytes) Then MsgBox "Error writing file ..."
        'Close the files
        CloseHandle hOrgFile
        CloseHandle hNewFile
        'Move the file
        MoveFileEx sTemp, "C:\KPDTEST.TST", MOVEFILE_REPLACE_EXISTING
        'Delete the file
        DeleteFile "C:\KPDTEST.TST"
        Unload Me
    End Sub
      

  2.   

    Option Explicit
    Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As Any, ByVal lpFileName As String) As Long
    Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
    Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
    Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As LongFunction ReadWriteINI(Mode As String, FileName As String, tmpSecname As String, Optional tmpKeyname As String, Optional tmpKeyValue) As String
    Dim tmpString As String
    Dim secname As String
    Dim keyname As String
    Dim keyvalue As String
    Dim anInt
    Dim defaultkey As StringOn Error GoTo ReadWriteINIError
    If IsNull(Mode) Or Len(Mode) = 0 Then
      ReadWriteINI = "MODE ERROR "
      Exit Function
    End If
    If Len(FileName) = 0 Then
      ReadWriteINI = "FileName ERROR "
      Exit Function
    End If
    If IsNull(tmpSecname) Or Len(tmpSecname) = 0 Then
      ReadWriteINI = "Secname ERROR "
      Exit Function
    End If
    If IsNull(tmpKeyname) Or Len(tmpKeyname) = 0 Then
      ReadWriteINI = "Keyname ERROR "
      Exit Function
    End If' WRITE MODE
      If UCase(Mode) = "WRITE" Then
          If IsNull(tmpKeyValue) Or Len(tmpKeyValue) = 0 Then
            ReadWriteINI = "ERROR KeyValue"
            Exit Function
          Else
            secname = tmpSecname
            keyname = tmpKeyname
            keyvalue = tmpKeyValue
            anInt = WritePrivateProfileString(secname, keyname, keyvalue, FileName)
          End If
      End If
      ' READ MODE
      If UCase(Mode) = "GET" Then
      
          secname = tmpSecname
          keyname = tmpKeyname
          defaultkey = "Failed"
          keyvalue = String$(50, 32)
          anInt = GetPrivateProfileString(secname, keyname, defaultkey, keyvalue, Len(keyvalue), FileName)
          If Left(keyvalue, 6) <> "Failed" Then
             tmpString = keyvalue
             tmpString = RTrim(tmpString)
             tmpString = Left(tmpString, Len(tmpString) - 1)
          End If
          ReadWriteINI = tmpString
      End If
    Exit Function
    ReadWriteINIError:
       MsgBox Error
       Stop
    End FunctionFunction fileexist(fname As String) As Boolean
        On Local Error Resume Next
       fileexist = (Dir(fname) <> "")
    End FunctionPublic Sub delete_file(fname As String)
      Dim fso
      Set fso = CreateObject("Scripting.FileSystemObject")
       If (fso.FileExists(fname)) Then
           fso.deletefile (fname)
       End If
       Sleep 1000
       Set fso = Nothing
    End SubPublic Function file_exist(fname As String) As Boolean
      Dim fso
      file_exist = False
      Set fso = CreateObject("Scripting.FileSystemObject")
       If (fso.FileExists(fname)) Then
           file_exist = True
       End If
       Sleep 500
       Set fso = Nothing
    End FunctionPublic Sub Create_file(fname As String)
       Dim fs
       Dim aa
       Set fs = CreateObject("Scripting.FileSystemObject")
       Set aa = fs.CreateTextFile(fname, True)
       aa.Close
       Set fs = Nothing
    End Sub
      

  3.   

    Const MOVEFILE_REPLACE_EXISTING = &H1
    Const FILE_ATTRIBUTE_TEMPORARY = &H100
    Const FILE_BEGIN = 0
    Const FILE_SHARE_READ = &H1
    Const FILE_SHARE_WRITE = &H2
    Const CREATE_NEW = 1
    Const OPEN_EXISTING = 3
    Const GENERIC_READ = &H80000000
    Const GENERIC_WRITE = &H40000000
    Private Declare Function SetVolumeLabel Lib "kernel32" Alias "SetVolumeLabelA" (ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Long
    Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
    Private Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long
    Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
    Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
    Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) As Long
    Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
    Private Sub Form_Load()
        Dim sSave As String, hOrgFile As Long, hNewFile As Long, bBytes() As Byte
        Dim sTemp As String, nSize As Long, Ret As Long
        'Ask for a new volume label
        sSave = InputBox("Please enter a new volume label for drive C:\" + vbCrLf + " (if you don't want to change it, leave the textbox blank)")
        If sSave <> "" Then
            SetVolumeLabel "C:\", sSave
        End If
        'Create a buffer
        sTemp = String(260, 0)
        'Get a temporary filename
        GetTempFileName "C:\", "KPD", 0, sTemp
        'Remove all the unnecessary chr$(0)'s
        sTemp = Left$(sTemp, InStr(1, sTemp, Chr$(0)) - 1)
        'Set the file attributes
        SetFileAttributes sTemp, FILE_ATTRIBUTE_TEMPORARY
        'Open the files
        hNewFile = CreateFile(sTemp, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
        hOrgFile = CreateFile("c:\config.sys", GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
        'Get the file size
        nSize = GetFileSize(hOrgFile, 0)
        'Set the file pointer
        SetFilePointer hOrgFile, Int(nSize / 2), 0, FILE_BEGIN
        'Create an array of bytes
        ReDim bBytes(1 To nSize - Int(nSize / 2)) As Byte
        'Read from the file
        ReadFile hOrgFile, bBytes(1), UBound(bBytes), Ret, ByVal 0&
        'Check for errors
        If Ret <> UBound(bBytes) Then MsgBox "Error reading file ..."
        'Write to the file
        WriteFile hNewFile, bBytes(1), UBound(bBytes), Ret, ByVal 0&
        'Check for errors
        If Ret <> UBound(bBytes) Then MsgBox "Error writing file ..."
        'Close the files
        CloseHandle hOrgFile
        CloseHandle hNewFile
        'Move the file
        MoveFileEx sTemp, "C:\KPDTEST.TST", MOVEFILE_REPLACE_EXISTING
        'Delete the file
        DeleteFile "C:\KPDTEST.TST"
        Unload Me
    End Sub
      

  4.   

    Dim fn As String
        fn = App.Path + "\PRINT.ini"
        If Not file_exist(fn) Then
           Call Create_file(fn)
           Call ReadWriteINI("write", fn, "票据打印设置", "WIN98", "1")
           Call ReadWriteINI("write", fn, "票据打印设置", "WIN2000", "0")
           Call ReadWriteINI("write", fn, "票据打印设置", "Y矫正值", "0")
           Call ReadWriteINI("write", fn, "票据打印设置", "X矫正值", "0")
        End If
      

  5.   

    Dim pini As String
            Dim df_Y As Integer
            Dim df_X As Integer
            df_Y = CInt(ReadWriteINI("get", App.Path + "\print.ini", "票据打印设置", "Y矫正值"))
            df_X = CInt(ReadWriteINI("get", App.Path + "\print.ini", "票据打印设置", "X矫正值"))
            pini = ReadWriteINI("get", App.Path + "\print.ini", "票据打印设置", "WIN98")
      

  6.   

    To tianxinet(越来越胖的猴子,不会用VB) :
        你提供的方法,可以将一个文件中的字符串(包括汉字的)从一个文件拷贝到另一个文件,但是它在传递的过程中始终是以字节的形式,怎样才可以将文件中的包括汉字的字符串读到一个字符串变量中?或者怎样将字节数组中的内容转化成汉字,保存在字符串变量中呢? 
         请继续赐教!!非常感谢!!!! 
      

  7.   

    Const MOVEFILE_REPLACE_EXISTING = &H1
    Const FILE_ATTRIBUTE_TEMPORARY = &H100
    Const FILE_BEGIN = 0
    Const FILE_SHARE_READ = &H1
    Const FILE_SHARE_WRITE = &H2
    Const CREATE_NEW = 1
    Const OPEN_EXISTING = 3
    Const GENERIC_READ = &H80000000
    Const GENERIC_WRITE = &H40000000
    Private Declare Function SetVolumeLabel Lib "kernel32" Alias "SetVolumeLabelA" (ByVal lpRootPathName As String, ByVal lpVolumeName As String) As Long
    Private Declare Function WriteFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, ByVal lpOverlapped As Any) As Long
    Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, ByVal lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long
    Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
    Private Declare Function SetFilePointer Lib "kernel32" (ByVal hFile As Long, ByVal lDistanceToMove As Long, lpDistanceToMoveHigh As Long, ByVal dwMoveMethod As Long) As Long
    Private Declare Function SetFileAttributes Lib "kernel32" Alias "SetFileAttributesA" (ByVal lpFileName As String, ByVal dwFileAttributes As Long) As Long
    Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long
    Private Declare Function GetTempFileName Lib "kernel32" Alias "GetTempFileNameA" (ByVal lpszPath As String, ByVal lpPrefixString As String, ByVal wUnique As Long, ByVal lpTempFileName As String) As Long
    Private Declare Function MoveFileEx Lib "kernel32" Alias "MoveFileExA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As String, ByVal dwFlags As Long) As Long
    Private Declare Function DeleteFile Lib "kernel32" Alias "DeleteFileA" (ByVal lpFileName As String) As Long
    Private Sub Form_Load()
        'KPD-Team 1998
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]
        Dim sSave As String, hOrgFile As Long, hNewFile As Long, bBytes() As Byte
        Dim sTemp As String, nSize As Long, Ret As Long
        'Ask for a new volume label
        sSave = InputBox("Please enter a new volume label for drive C:\" + vbCrLf + " (if you don't want to change it, leave the textbox blank)")
        If sSave <> "" Then
            SetVolumeLabel "C:\", sSave
        End If    'Create a buffer
        sTemp = String(260, 0)
        'Get a temporary filename
        GetTempFileName "C:\", "KPD", 0, sTemp
        'Remove all the unnecessary chr$(0)'s
        sTemp = Left$(sTemp, InStr(1, sTemp, Chr$(0)) - 1)
        'Set the file attributes
        SetFileAttributes sTemp, FILE_ATTRIBUTE_TEMPORARY
        'Open the files
        hNewFile = CreateFile(sTemp, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)
        hOrgFile = CreateFile("c:\config.sys", GENERIC_READ, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0, 0)    'Get the file size
        nSize = GetFileSize(hOrgFile, 0)
        'Set the file pointer
        SetFilePointer hOrgFile, Int(nSize / 2), 0, FILE_BEGIN
        'Create an array of bytes
        ReDim bBytes(1 To nSize - Int(nSize / 2)) As Byte
        'Read from the file
        ReadFile hOrgFile, bBytes(1), UBound(bBytes), Ret, ByVal 0&
        'Check for errors
        If Ret <> UBound(bBytes) Then MsgBox "Error reading file ..."    'Write to the file
        WriteFile hNewFile, bBytes(1), UBound(bBytes), Ret, ByVal 0&
        'Check for errors
        If Ret <> UBound(bBytes) Then MsgBox "Error writing file ..."    'Close the files
        CloseHandle hOrgFile
        CloseHandle hNewFile    'Move the file
        MoveFileEx sTemp, "C:\KPDTEST.TST", MOVEFILE_REPLACE_EXISTING
        'Delete the file
        DeleteFile "C:\KPDTEST.TST"
        Unload Me
    End Sub
      

  8.   

    to wwfang(方耀东) 
        你的方法和tianxinet(越来越胖的猴子,不会用VB) 的一样,也有一样的问题!!!1
      

  9.   

    对于我提的这个问题我找到了解决方法!保存:将要保存的字符串变量的内容(包含汉字的)转换字节形式,保存在一个字节数组中,然后将该数组的内容保存入文件。读取:将要读取得内容读到一个字节数组中,然后用StrConv()函数将其转换成字符串。dim sWrite       as string
    dim sRead        as sting 
    dim bWriteInfo() as byte  '注意,这里的数组要定义为不定长的
    dim bReadInfo()  as byte sTest = "我成功了!"
    bWriteInfo = sTest
    WriteFile hFileHandle,bWriteInfo(LBound(bWriteInfo)),LenB(sWrite),0,0Redim bReadInfo(1 to LenB(Stest)) '将bReadInfo()重新定义为想要读取内’容的长度(字节为单位),
    '这里定义为刚才写入的内容的长度
    ReadFile hFileHandle,bReadInfo(1) ,LenB(sTest),0,0
    sRead = strConv(bReadInfo,vbWide)