p>¡¡¡¡ÎÒÃÇÔÚ±à³Ìʵ¼ùÖУ¬¾³£Ðè񻃾¼°µ½ÎļþµÄɾ³ý²Ù×÷£¬¶øÒ»°ãµÄ³ÌÐòÓïÑÔÖеÄɾ³ýÖ¸ÁîÊǾø¶Ôɾ³ýµÄ£¬¼´²»½«Îļþ·ÅÈë»ØÊÕÕ¾£¬Õâ¸øÎÒÃÇÔÚÉè¼Æ¸ü¼Ó¾ßÓÐwindows·ç¸ñµÄÓ¦ÓóÌÐò´øÀ´ÁËÒ»¶¨µÄ²»±ã¡£ÎªÁ˿˷þÕâ¸öÕϰ£¬ÎÒÃÇÐèҪͨ¹ýµ÷ÓöÀÁ¢ÓÚ±à³Ì»·¾³ÒÔÍâµÄwindows
apiº¯ÊýÀ´ÊµÏÖ£¬ÒÔÏÂÊÇvb6µÄʾÀý´úÂ룬ÔÚwindows98ÖвâÊÔͨ¹ý¡£Ëü¿ÉÒÔÑ¡ÔñÊÇ·ñ½«Îļþɾ³ýµ½»ØÊÕÕ¾¡£
¡¡¡¡£¨Ò»£©±à³ÌÔÀí£»
¡¡¡¡½«Îļþɾ³ýµ½»ØÊÕÕ¾µÄ¹ý³Ìʵ¼ÊÉϾÍÊÇ£¬½«±»É¾³ýµÄÎļþ¼ÓÉÏÔÀ´´æ·ÅλÖÃÐÅÏ¢¡¢É¾³ýÈÕÆÚµÈÐÅÏ¢ºó£¬Òƶ¯µ½WINDOWSËùÔÚ·ÖÇøµÄRecycledĿ¼ÏµĹý³Ì¡£ËäÈ»ÎÒÃǶÀÁ¢µÄ±àд³¹Í·³¹Î²µÄ´úÂë¿ÉÒÔʵÏÖ£¬µ«ÊÇÈ´±È½Ï·±Ëö¡£ÎÒÃÇ¿ÉÒÔµ÷ÓÃwindows
apiº¯ÊýSHFileOperationÀ´·½±ãµÄʵÏÖ£¬ËüµÄ¹¦ÄÜºÜ¶à£¬Éæ¼°µ½ÎļþµÄ¿½±´¡¢¼ôÇС¢É¾³ýµÈµÈ£¬ÔÚ±¾ÎÄÖУ¬ÎÒÖ»ÌÖÂÛËüµÄÁ½¸ö¹¦ÄÜ---½«Îļþ·ÅÈë»ØÊÕÕ¾ºÍ¾ø¶Ôɾ³ý¡£
¡¡¡¡£¨¶þ£©±à³ÌʾÀý£»
¡¡¡¡(µÚÒ»²½)Æô¶¯vb6ÖÐÎİ潨Á¢Ò»¸ö±ê×¼exe¹¤³Ì,½«´°ÌåÃüÃûΪ"form1",´Ó×ó±ßµÄ¹¤¾ßÏäÖÐÌí¼ÓÒ»¸ödrivelistbox¿Ø¼þ¡°dir1¡±£¬Ò»¸ödirlistbox¿Ø¼þ¡°dir1¡±£¬Ò»¸öfilelistbox¿Ø¼þ¡°file1¡±£¬Ò»¸öcheckbox¿Ø¼þ¡°optRecycle¡±£¬Ò»commandbutton¿Ø¼þ¡°cmddelete¡±£¬½«ÒÔÉϿؼþµ÷Õûµ½Êʵ±Î»Öã¬Ë«»÷´°Ì壬дÈëÒÔÏ´úÂ룺
¡¡¡¡Option Explicit
¡¡¡¡Private Type SHFILEOPSTRUCT
¡¡¡¡hWnd As Long
¡¡¡¡wFunc As Long
¡¡¡¡pFrom As String
¡¡¡¡pTo As String
¡¡¡¡fFlags As Integer
¡¡¡¡fAborted As Boolean
¡¡¡¡hNameMaps As Long
¡¡¡¡sProgress As StringEnd Type¡¯Îļþ²Ù×÷º¯ÊýÀàÐͲÎÊý
¡¡¡¡Private Const FO_DELETE = &H3¡®±¾²ÎÊý´ú±íɾ³ýPrivate Const FOF_ALLOWUNDO = &H40¡®±¾²ÎÊý±íʾ½«Îļþ·ÅÈë»ØÊÕÕ¾
¡¡¡¡Private Declare Function SHFileOperation Lib _"shell32.dll" Alias
"SHFileOperationA" _(lpFileOp As SHFILEOPSTRUCT) As Long ¡®apiº¯ÊýÉùÃ÷
¡¡¡¡Public Sub ShellDeleteOne(sFile As String, ActionFlag As Long) ¡®×Ô¶¨ÒåÎļþɾ³ý²Ù×÷º¯ÊýShellDeleteOne£¬µÚÒ»¸ö²ÎÊýÖ¸¶¨±»É¾³ýµÄÎļþÃû£¬µÚ¶þ¸ö²ÎÊýÖ¸¶¨ÊÇ·ñ·ÅÈë»ØÊÕÕ¾
¡¡¡¡Dim SHFileOp As SHFILEOPSTRUCTDim r As Long
¡¡¡¡sFile = sFile & Chr$(0)
¡¡¡¡With SHFileOp
¡¡¡¡.wFunc = FO_DELETE
¡¡¡¡.pFrom = sFile
¡ .fFlags = ActionFlag ¡®Èç¹ûActionFlag=0±íʾ¾ø¶Ôɾ³ý£¬¶øActionFlag=FOF_ALLOWUNDO±íʾ·ÅÈë»ØÊÕÕ¾End
With
¡¡¡¡r = SHFileOperation(SHFileOp)¡®Ö´ÐÐɾ³ý²Ù×÷End Sub
¡¡¡¡Private Sub Dir1_Change()
¡¡¡¡File1.Path = Dir1.Path¡®½«Ä¿Â¼Áбí¿òÓëÎļþÁбí¿ò¹ØÁªEnd Sub
¡¡¡¡Private Sub Drive1_Change()
¡¡¡¡On Error Resume Next ¡®ºöÂÔ´íÎó
¡¡¡¡Dir1.Path = Drive1.Drive¡®½«Çý¶¯Æ÷Áбí¿òÓëĿ¼Áбí¿ò¹ØÁªEnd Sub
¡¡¡¡Private Sub Form_Load()
¡¡¡¡Me.Caption = "»ØÊÕÕ¾µ÷ÓÃÑÝʾ_ --zouherohttp://zouga.yeah.net"¡®³õʼ»¯³ÌÐò±êÌâ
¡¡¡¡cmdDelete.Enabled = False ¡®½ûֹɾ³ý°´Å¥Ö±µ½ÓÐÎļþ±»Ñ¡ÖÐEnd Sub
¡¡¡¡Private Sub cmdDelete_Click()Dim r As LongDim file2Delete As StringDim fPath
As StringDim ActionFlag As LongfPath = Dir1.Pathfile2Delete = File1.List(File1.ListIndex)¡®¼Ç¼ÎļþÃûIf
Right(fPath, 1) $#@60;$#@62; "\" Then
¡¡¡¡fPath = fPath & "\"End If¡®ÅжÏÎļþ·¾¶file2Delete = fPath & file2Delete
¡®ÍêÕûµÄÎļþÃûActionFlag = 0& ¡®Ä¬ÈÏΪ¾ø¶Ôɾ³ýIf optRecycle.Value Then ActionFlag = FOF_ALLOWUNDO¡®Èç¹ûoptRecycle±»Ñ¡ÖÐÔò½«Îļþ·ÅÈë»ØÊÕÕ¾ShellDeleteOne
file2Delete, ActionFlag ¡®µ÷ÓÃ×Ô¶¨Òåɾ³ýº¯ÊýFile1.Refresh¡®Ë¢ÐÂÎļþÁбí¿òcmdDelete.Enabled = File1.ListIndex
$#@62; -1¡®Èç¹ûÑ¡¶¨Ä¿Â¼ÏÂûÓÐÎļþ»òÕßûÓÐÑ¡ÖÐÎļþ£¬É¾³ý°´Å¥±»½ûÖ¹End Sub
¡¡¡¡Private Sub File1_Click()
¡¡¡¡cmdDelete.Enabled = File1.ListIndex $#@62; -1End Sub
¡¡¡¡£¨µÚ¶þ²½£©µ÷ÊÔ£»
¡¡¡¡°´ÏÂf5¼ü£¬Í¨¹ýÑ¡ÔñÇý¶¯Æ÷Áбí¿ò¡¢Ä¿Â¼Áбí¿ò¡¢ÎļþÁбí¿òÑ¡¶¨Îļþ£¬µ±¡°·ÅÈë»ØÊÕÕ¾¡±±»Ñ¡ÖÐʱ£¨¼´ËüÇ°ÃæÓÐÒ»¸öºÚÉ«µÄ¶ÔºÅ£©£¬°´ÏÂɾ³ý°´Å¥£¬½«»á³öÏÖÈ·È϶Ի°¿ò£¬Îļþ±»·ÅÈë»ØÊÕÕ¾£¬·´Ö®£¬½«»á±»¾ø¶Ôɾ³ý¡£
¡¡¡¡windows apiº¯ÊýSHFileOperationÊÇÒ»¸ö¹¦Äܷdz£Ç¿´óµÄº¯Êý£¬ÓÃËü¿ÉÒÔ·½±ãµÄʵÏÖÐí¶à±à³ÌÓïÑÔËùÎÞ·¨Ö±½ÓʵÏֵŦÄÜ¡£ÖÁÓÚÆäËûµÄÓÃ;Çë²Î¿¼windows
apiÊֲᡣ
¡¡¡¡¶ÔÓÚ¹úÄڵijÌÐòÔ±À´Ëµ£¬Éæ¼°windows¸ß¼¶±à³ÌµÄÏà¹Ø×ÊÁϺÍʾÀý´úÂë·Ç³£ÉÙ£¬ÕâÔÚÒ»¶¨³Ì¶ÈÉÏÏÞÖÆÁ˳ÌÐòÔ±µÄ¿ª·¢¸ß¼¶Ó¦ÓóÌÐòÄÜÁ¦¡£±¾ÎÄÖеÄʾÀý²»½ö½öÉæ¼°ÁËwindows
apiÎļþ²Ù×÷º¯ÊýµÄÔËÓ㬶øÇÒÑÝʾÁËÎļþä¯ÀÀÒÔ¼°¹ØÁªµÄ¼¼ÇÉ£¬Ï£ÍûÖîλ±à³Ì¸ßÊÖÄܹ»ÓÐËù½è¼øºÍ¸«Õý£¬Èç¹ûÓÐÎÊÌâ»òÕßÏ£ÍûÏ໥½»Á÷,ÇëÓëÎÒÁªÏµzouworld@sina.com¡£