• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Copy, Cut files vào clipboard

Các mẹo vặt linh tinh không thuộc các nhóm trên

Điều hành viên: tungcan5diop, QUANITGROBEST

Hình đại diện của người dùng
PhapSuXeko
Mạnh Thường Quân
Mạnh Thường Quân
Bài viết: 295
Ngày tham gia: CN 03/05/2009 7:44 pm
Đến từ: Tây Ninh
Has thanked: 1 time
Been thanked: 10 time
Liên hệ:

Copy, Cut files vào clipboard

Gửi bàigửi bởi PhapSuXeko » T.Sáu 28/01/2011 12:15 am

Thủ thuật: Copy, Cut files vào clipboard
Tác giả: PhapSuxeko + Sưu tầm
Mô tả: Copy, Cut files từ windows explorer vào clipboard


Thông thường để copy file thì ta thường dùng IO.File.Copy. Phương thức này cho phép copy ngay tức khắc file từ folder này sang folder khác (tức gộp 2 công đoạn Copy - Paste làm 1). Nhưng ta để ý, trong Windows Explorer, khi copy thì file sẽ được lưu vào clipboard, khi nào cần thì mới Paste ra thôi. Đoạn code sau thực hiện việc này:
  1. Dim path As New Collections.Specialized.StringCollection
  2. path.Add("D:vbnet.exe")
  3. path.Add("D:
    Dim path As New Collections.Specialized.StringCollection
    path.Add("D:\1.exe")
    path.Add("D:\2.txt")

    'copy files
    Clipboard.SetFileDropList(path)
    .txt"
    )
  4.  
  5. 'copy files
  6. Clipboard.SetFileDropList(path)
  7.  

Vào Windows Explorer và nhấn Ctrl + V xem điều gì xảy ra nhé!

Phương pháp cut file thông thường chúng ta sẽ dùng phương thức IO.File.Move. Phương thức này sẽ thực hiện đúng nghĩa của nó luôn, tức là di chuyển file ngay lập tức, khi muốn cut file vào clipboard mà chưa muốn paste ra ngoài thì cách này bó tay!
Giải pháp:
  1. Dim path As New Collections.Specialized.StringCollection'file cần cut vào Clipboard
  2. path.Add("D:vbnet.exe")
  3. path.Add("D:
    Dim path As New Collections.Specialized.StringCollection'file cần cut vào Clipboard
    path.Add("D:\1.exe")
    path.Add("D:\2.txt")

    'cut file
    Dim moveEffect() As Byte = {2, 0, 0, 0}
    Dim dropEffect As New System.IO.MemoryStream()
    dropEffect.Write(moveEffect, 0, moveEffect.Length)

    Dim data As New DataObject
    data.SetFileDropList(path)
    data.SetData("Preferred DropEffect", dropEffect)

    Clipboard.Clear()
    Clipboard.SetDataObject(data, True)
    .txt"
    )
  4.  
  5. 'cut file
  6. Dim moveEffect() As Byte = {2, 0, 0, 0}
  7. Dim dropEffect As New System.IO.MemoryStream()
  8. dropEffect.Write(moveEffect, 0, moveEffect.Length)
  9.  
  10. Dim data As New DataObject
  11. data.SetFileDropList(path)
  12. data.SetData("Preferred DropEffect", dropEffect)
  13.  
  14. Clipboard.Clear()
  15. Clipboard.SetDataObject(data, True)
  16.  

Thử chạy đoạn code trên và vào 1 thư mục nhấn Ctrl + V xem sao!


Trang chủ phần mềm xem ảnh ImageGlass: http://www.imageglass.org

Quay về “[.NET] Mẹo vặt khác”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách