Private Const MOVEFILE_COPY_ALLOWED = &H2
Private Const MOVEFILE_DELAY_UNTIL_REBOOT = &H4 Private Const MOVEFILE_REPLACE_EXISTING = &H1 MoveFile \test1.txt\ÒÆ¶¯Îļþ
MoveFileEx \Y_ALLOWED ?ÔÙÒ»´ÎÒÆ¶¯ ÒÔÉÏ´úÂëʵÏÖÁËÎļþµÄÒÆ¶¯£¬Á½´ÎÒÆ¶¯áᣬÎļþ²»±ä 7¡¢DeleteFile
×÷ÓãºÉ¾³ýÖ¸¶¨Îļþ
ÉùÃ÷£ºDeclare Function DeleteFile Lib \Alias \(ByVal lpFileName As String) As Long
˵Ã÷£ºLong£¬·ÇÁã±íʾ³É¹¦£¬Áã±íʾʧ°Ü¡£»áÉèÖÃGetLastError
ÓëvbaµÄkillÓï¾äÏàËÆ£¬ÔÚwindows 95ÏÂʹÓÃÕâ¸öº¯ÊýҪСÐÄ¡ª¡ª¼´Ê¹Îļþµ±Ç°ÕýÓÉÒ»¸öÓ¦ÓóÌÐò´ò¿ª£¬¸Ãº¯ÊýÒ²»á½«Æäɾ³ý. ²ÎÊý˵Ã÷£º
lpFileName String£¬Óûɾ³ýÎļþµÄÃû×Ö Ê¾Àý£º
DeleteFile \ɾ³ýc:\\\\test.txtÎļþ ÍêÕûµÄʾÀý¼û¸½¼þ¡£ 8¡¢ReadFile
×÷Ó㺴ÓÎļþÖжÁ³öÊý¾Ý¡£Óëlreadº¯ÊýÏà±È£¬Õâ¸öº¯ÊýÒªÃ÷ÏÔÁé»îµÄ¶à¡£¸Ãº¯ÊýÄܹ»²Ù×÷ͨÐÅÉ豸¡¢¹ÜµÀ¡¢Ì×½Ó×ÖÒÔ¼°ÓʲÛ
ÉùÃ÷£ºPrivate Declare Function ReadFile Lib \lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long
˵Ã÷£ºLong£¬·ÇÁã±íʾ³É¹¦£¬Áã±íʾʧ°Ü¡£»áÉèÖÃGetLastError¡£ÈçÆô¶¯µÄÊÇÒ»´ÎÒì²½¶Á²Ù×÷£¬Ôòº¯Êý»á·µ»ØÁãÖµ£¬²¢½«ERROR_IO_PENDINGÉèÖóÉGetLastErrorµÄ½á¹û¡£Èç½á¹û²»ÊÇÁãÖµ£¬µ«¶ÁÈëµÄ×Ö½ÚÊýСÓÚnNumberOfBytesToRead²ÎÊýÖ¸¶¨µÄÖµ£¬±íÃ÷ÔçÒѵִïÁËÎļþµÄ½áβ ²ÎÊý£º
hFile ---- Long£¬ÎļþµÄ¾ä±ú
lpBuffer --- Any£¬ÓÃÓÚ±£´æ¶ÁÈëÊý¾ÝµÄÒ»¸ö»º³åÇø nNumberOfBytesToRead - Long£¬Òª¶ÁÈëµÄ×Ö·ûÊý
lpNumberOfBytesRead - Long£¬´ÓÎļþÖÐʵ¼Ê¶ÁÈëµÄ×Ö·ûÊý
lpOverlapped --- OVERLAPPED£¬ÈçÎļþ´ò¿ªÊ±Ö¸¶¨ÁËFILE_FLAG_OVERLAPPED£¬ÄÇô±ØÐëÓÃÕâ¸ö²ÎÊýÒýÓÃÒ»¸öÌØÊâµÄ½á¹¹¡£ÄǸö½á¹¹¶¨ÒåÁËÒ»´ÎÒì²½¶ÁÈ¡²Ù×÷¡£·ñÔò£¬Ó¦½«Õâ¸ö²ÎÊýÉèΪNULL£¨½«º¯ÊýÉùÃ÷³ÉByVal As Long£¬²¢´«µÝÁãÖµ£© ʾÀý£ºÍêÕûµÄʾÀý¼û¸½¼þ¡£ 9¡¢WriteFile
×÷Ó㺽«Êý¾ÝдÈëÒ»¸öÎļþ¡£¸Ãº¯Êý±Èlwriteº¯ÊýÒªÁé»îµÄ¶à¡£Ò²¿É½«Õâ¸öº¯ÊýÓ¦ÓÃÓÚ¶ÔͨÐÅÉ豸¡¢¹ÜµÀ¡¢Ì×½Ó×ÖÒÔ¼°Óʲ۵Ĵ¦Àí
ÉùÃ÷£ºDeclare Function WriteFile Lib \Alias \(ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, lpNumberOfBytesWritten As Long, lpOverlapped As OVERLAPPED) As Long
˵Ã÷£ºLong£¬TRUE£¨·ÇÁ㣩±íʾ³É¹¦£¬·ñÔò·µ»ØÁã¡£»áÉèÖÃGetLastError
²ÎÊý£º
hFile --- Long£¬Ò»¸öÎļþµÄ¾ä±ú
lpBuffer --- Any£¬ÒªÐ´ÈëµÄÒ»¸öÊý¾Ý»º³åÇø
nNumberOfBytesToWrite - Long£¬ÒªÐ´ÈëÊý¾ÝµÄ×Ö½ÚÊýÁ¿¡£ÈçдÈëÁã×Ö½Ú£¬±íʾʲô¶¼²»Ð´È룬µ«»á¸üÐÂÎļþµÄ¨DÉÏÒ»´ÎÐÞ¸Äʱ¼ä¡¬¡£Õë¶ÔλÓÚÔ¶³ÌϵͳµÄÃüÃû¹ÜµÀ£¬ÏÞÖÆÔÚ65535¸ö×Ö½ÚÒÔÄÚ
lpNumberOfBytesWritten - Long£¬Êµ¼ÊдÈëÎļþµÄ×Ö½ÚÊýÁ¿
lpOverlapped --- OVERLAPPED£¬ÌÈÈôÔÚÖ¸¶¨FILE_FLAG_OVERLAPPEDµÄǰÌáÏ´ò¿ªÎļþ£¬Õâ¸ö²ÎÊý¾Í±ØÐëÒýÓÃÒ»¸öÌØÊâµÄ½á¹¹¡£ÄǸö½á¹¹¶¨ÒåÁËÒ»´ÎÒ첽д²Ù×÷¡£·ñÔò£¬¸Ã²ÎÊýÓ¦ÖÃΪ¿Õ£¨½«ÉùÃ÷±äΪByVal As Long£¬²¢´«µÝÁãÖµ£© ʾÀý£ºÍêÕûµÄʾÀý¼û¸½¼þ¡£
10¡¢SHFileOperation ×÷Ó㺴˺¯ÊýµÄ¹¦ÄܺÜÇ¿´ó£¬ÄܶÔÎļþ»òÎļþ¼Ð½øÐи´ÖÆ¡¢Òƶ¯¡¢ÖØÃüÃû¡¢É¾³ýµÄÈ«²¿²Ù×÷¡£ ÉùÃ÷£ºDeclare Function SHFileOperation Lib \As SHFILEOPSTRUCT) As Long
˵Ã÷£ºLong£¬TRUE£¨·ÇÁ㣩±íʾ³É¹¦£¬·ñÔò·µ»ØÁã¡£ ²ÎÊý£º
lpFileOp ££SHFILEOPSTRUCTÀàÐÍ£¬Ö¸¶¨ÎļþµÄ²Ù×÷¡£ 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 String End Type
ʾÀý£º¼û¸½¼þ¡£
£¨Èý£©×ܽá
ͨ¹ýÒÔÉϵĽéÉÜ£¬ÎÒÃÇ¿ÉÒÔ¿´µ½APIÔÚÎļþ²Ù×÷·½Ã湦ÄÜÊ®·ÖÇ¿´ó£¬Äܹ»Íê³ÉÒ»Ð©Ç°Ãæ·½·¨Ëù²»ÄÜÍê³ÉµÄÈÎÎñ¡£FileSystemObject¶ÔÏóÄ£Ð͵ÄÄÚ²¿¿ÉÄܾÍÊÇÓÃAPIдµÄ£¬¼´±ã²»ÊÇÎÒÃÇÒ²¿ÉÒÔÓÃAPIд³öÒ»¸öFSOÀàÀ´¡£APIÊÇÒ»¸ö¾Þ´óµÄ±¦¿â£¬µ±ÄãΪʵÏÖij¸ö¹¦Äܶø³îü²»Õ¹µÄʱºò£¬²é²éAPI¿ÉÄܾÍÄÜÕÒµ½ÂúÒâµÄ´ð°¸¡£
дµÄÕâô¶à£¬Ï£Íû¶Ô´ó¼ÒÓÐËù°ïÖú£¬ÖÁÉÙ²Ù×÷ÎļþÊÇûÓÐʲôÎÊÌâÁË¡£