تابع createFile تو ویندوز اینکارو براتون انجام میده اگر هم بخاید بخشی از فایل را را قفل کنید هم می تونید از تابع lockfileاستفاده کنید و برای کار شما به صورت زیر عمل کنید. کد زیر فایل مورد نظر شما را قفل می کنه و ۱۰۰ ثانیه فایل پروتکت میشه.
int main() {
const std::string filename ="";
auto fileHandle = CreateFileA(filename.c_str(), GENERIC_READ,
FILE_SHARE_READ,
0, OPEN_EXISTING, 0, 0);
std::this_thread::sleep_for(std::chrono::seconds(100));
return 0;
}
اگر داخل برنامه خودن قصد تغییر دارید فایل موردنظر را تغییر بدید بجای GENERIC_READ از GENERIC_WRITE استفاده کنید.