2010-09-01 18 views
7

Có chức năng CreateHardLink để tạo liên kết cứng. (Kể từ Win2000)
Và có chức năng CreateSymbolicLink kể từ khi Vista được phát hành.Làm cách nào để tạo điểm Junction bằng WinApi?

Nhưng tại sao không có CreateJunction?

Làm thế nào để mklink kết nối?
Và làm cách nào để viết mã để tạo giao lộ trong ứng dụng của tôi?

Trả lời

6

Chúng là điểm thô, vì vậy FSCTL_SET_REPARSE_POINT là FSCTL ma thuật. Dưới đây là một ví dụ, không bao giờ thử nó, nhưng dường như ngay:

http://www.flexhex.com/docs/articles/hard-links.phtml

-scott

+0

Lưu ý rằng, bắt đầu từ Windows Vista/Server 2008, chức năng [CreateSymbolicLink] (http://msdn.microsoft.com/en-us/library/aa363866.aspx) cũng có thể được sử dụng. – efotinis

3

Hiện tại không có built-in chức năng duy nhất để tạo nút giao thông như có cho liên kết tượng trưng hoặc liên kết cứng. Giống như snoone nói, đó là một điểm reparse, vì vậy bạn phải sử dụng DeviceIoControl để tương tác với nó. Nếu tôi nhớ chính xác, nguồn anh ấy liên kết là cùng một nguồn tôi đã chơi khi tôi cố gắng tìm ra điều này, và tôi không nghĩ rằng tôi gặp phải bất kỳ vấn đề nào với nó.

Ngoài ra, nếu bạn không chống lại việc sử dụng thư viện bên ngoài trong ứng dụng và bạn sẽ cần chức năng đọc/kiểm tra/xóa các nút, bạn có thể muốn xem reparselib, thư viện khá phong nha các nút nối, các liên kết tượng trưng, ​​các điểm gắn kết và các điểm thay đổi tùy chỉnh.

Các vấn đề liên quan