[ad_1]
Tôi đã tập hợp một chương trình nhiều người dùng đơn giản chạy tốt trên thư mục A của người dùng PC. Nhưng sự cố xảy ra khi người dùng B’ thông qua người dùng D’, trên cùng một PC, chạy chương trình và cố gắng truy cập’ vào các tệp ngày này. Kết quả thường khá tệ. Tôi đã cố gắng đặt quyền cho từng người dùng; trong mỗi thuộc tính tệp – trước mỗi lần chạy. Nhưng sau khi chạy chương trình từ người dùng B đến người dùng D, các quyền được đặt trước đó dường như đã biến mất, như thể tôi chưa hề thực hiện chúng. Điều này đã diễn ra được một thời gian và tôi không thể hiểu được bất kỳ đầu hay đuôi nào về nó. Làm cách nào tôi có thể tạo các quyền đáng tin cậy, tốt và đúng đắn để không gặp vấn đề gì khi chạy chương trình ở bất kỳ đâu trên PC này. Nói cách khác, hãy đảm bảo mọi thứ diễn ra theo đúng kế hoạch, không có vấn đề gì. Mọi ý tưởng khắc phục và trợ giúp chắc chắn sẽ hữu ích. Nhưng tôi đang làm gì sai? Cảm ơn,
Những gì tôi đã thử:
Tôi đã sử dụng _fsopen(), fopen(), fsopen_s(). liên tục thay đổi nó, đập vào nó.
Giải pháp 1
Để có được đường dẫn, windows có một số API đặc biệt có tên Giao diện thư mục đã biết hoặc gần đây hơn SHGetĐường dẫn thư mục. Các tham số được sử dụng làm định danh mà đường dẫn trả về.
Nhưng trước tiên bạn cần một số khái niệm về dữ liệu của mình. Tốt nhất là khi mỗi người dùng đều có dữ liệu riêng hoặc một số dữ liệu chung. Điều này giải quyết vấn đề truy cập. Sử dụng độ cao là một ý tưởng tồi.
Giải pháp 2
Tôi khuyên bạn nên di chuyển các tệp dữ liệu sang thư mục dữ liệu “tất cả người dùng”: Windows có thư mục dữ liệu có sẵn cho tất cả người dùng: ProgramData.
Đây là một thư mục ẩn, thường nằm trong thư mục gốc của ổ C: (nhưng có thể di chuyển được – mở File Explorer và gõ %PROGRAMDATA% vào thanh địa chỉ để tìm nó). Tạo một thư mục trong đó cho ứng dụng của bạn và tất cả người dùng đều có thể truy cập đầy đủ vào các tệp dữ liệu trong thư mục đó mà không cần bất kỳ sự nâng cao nào.
[ad_2]
コメント