Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Trang 1 của 2 12 CuốiCuối
Kết quả 1 đến 10 của 12
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Sử dụng Windows API nào để đọc cấu trúc file và folder trên đĩa cứng

    Em đang viết chương trình về đọc đĩa. Em muốn hỏi là:
    Những hàm API nào của windows được dùng để đọc file và folder trên đĩa cứng ?
    Hoặc là API nào có thể đọc được 1 lượng byte được chỉ định, tại vị trí chỉ định trên đĩa cứng ?

  2. #2
    sử dụng GetFileSize() hoặc GetFileSizeEx()

  3. #3
    Trích dẫn Gửi bởi gianghoplus
    sử dụng GetFileSize() hoặc GetFileSizeEx()
    Không ý em là đọc được cấu trúc của đĩa, như là: có những folder nào, file nào.
    Em biết nó được lưu trong MFT của đĩa được format với định dạng NTFS. Nhưng làm sao để đọc được nó, sử dụng API nào ?
    Hoặc là có API nào cấp cao hơn để đọc được luôn đĩa có những file hoặc folder nào, không cần phải đọc MFT rồi mới "giải mã" nó.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Cái để giúp cho bạn giao tiếp với những thứ này trên Windows là WMI

    Tìm hiểu thêm các hàm API: GetLogicalDrives, GetDriveType

    Còn việc duyệt file và folder thì ... FindFirstFile, FindNextFile, ...[IMG]images/smilies/biggrin.png[/IMG]

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Em tưởng là FindFirstFile cần phải dùng đến tên file, làm sao mà dùng để liệt kê cấu trúc thư mục được.
    Em đang tìm hiểu về hàm ReadFile, CreateFile, DeviceIoControl,... chắc cũng đang trên đà tìm ra chân lý. [IMG]images/smilies/biggrin.png[/IMG]

  6. #6
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    FindFirstFile, FindNextFile
    Dùng hàm này + đệ quy sẽ liệt kê được cấu trúc thư mục. Còn hướng giải quyết của bạn mình ko hiểu lắm. Cấu trúc file được lưu ở một nơi nào đó à ?

  7. #7
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi birthis
    Em tưởng là FindFirstFile cần phải dùng đến tên file, làm sao mà dùng để liệt kê cấu trúc thư mục được.
    Em đang tìm hiểu về hàm ReadFile, CreateFile, DeviceIoControl,... chắc cũng đang trên đà tìm ra chân lý. [IMG]images/smilies/biggrin.png[/IMG]
    Sao lại không được chứ? Hoàn toàn có thể liệt kê được đó! [IMG]images/smilies/clap_grin.gif[/IMG]

    DeviceIoControl là thuộc về Device Management mà!

  8. #8
    Đúng hướng rồi đấy, tìm hiểu thêm về FAT/FAT32/NTFS... format. Google để tìm.

  9. #9
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Vâng, mấy cái này em đang tìm hiểu.
    Cảm ơn mấy anh đã giúp đỡ.

  10. #10
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi kenzso
    Mã:
    FindFirstFile, FindNextFile
    Dùng hàm này + đệ quy sẽ liệt kê được cấu trúc thư mục. Còn hướng giải quyết của bạn mình ko hiểu lắm. Cấu trúc file được lưu ở một nơi nào đó à ?
    Trên mỗi phân vùng của đĩa cứng thì để lưu trữ được dữ liệu thì phải có 1 bảng thường nằm ở đầu phân vùng để lưu trữ thông tin về các file và folder được lưu trong phân vùng. Muốn xem ổ cứng có những file, folder và tổ chức của chúng như thế nào thì về nguyên tắc là phải đọc bảng này. Ví dụ:
    Định dạng FAT: FAT (File Allocation Table)
    Định dạng NTFS: MFT (Master File Table)
    Khi muốn đọc 1 file thì hệ thống đọc bảng này để tìm ra vị trí lưu file, thông tin về file,...
    Vì vậy giờ mình muốn xem thử hàm API nào để truy cập đĩa, đọc bảng này. Hoặc là hàm API nào để có thể đọc được cấu trúc file trên đĩa.
    Trích dẫn Gửi bởi Kevin Hoang
    Sao lại không được chứ? Hoàn toàn có thể liệt kê được đó! [IMG]images/smilies/clap_grin.gif[/IMG]

    DeviceIoControl là thuộc về Device Management mà!
    Đọc được à anh, vậy thì để em thử tìm hiểu. DeviceIoControl em cũng đang tìm hiểu, chưa sâu lắm nên chưa thể khẳng định được.

 

 
Trang 1 của 2 12 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •