文件防复制

huyongsc 2008-11-18 12:44:25
我想使用下面的代码实现文件锁定和解锁,但不知到如何用,因为没用过C++,有谁能帮忙写一下代码。
FileStream stream = new FileStream([你要锁的文件], FileMode.Open, FileAccess.ReadWrite, FileShare.None);
...全文
178 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
huyongsc 2008-11-20
  • 打赏
  • 举报
回复
虽然没有满意答案,还是散分。
Waiting4you 2008-11-19
  • 打赏
  • 举报
回复
改成这样:
HANDLE FileHandle = INVALID_HANDLE_VALUE;/*全局变量用来保存文件的句柄,解锁时CloseHandle(FileHandle)即可*/
bool __fastcall LockFile(AnsiString FileName)
{
FileHandle = CreateFile(FileName.c_str(),
GENERIC_READ|GENERIC_WRITE,
0,/*禁止其它程序访问*/
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_ARCHIVE |
FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_NORMAL |
FILE_ATTRIBUTE_READONLY |
FILE_ATTRIBUTE_SYSTEM,
NULL
);
if (FileHandle == INVALID_HANDLE_VALUE)
return false;
return true;
}
huyongsc 2008-11-19
  • 打赏
  • 举报
回复
期待高手出来
xzdgy 2008-11-19
  • 打赏
  • 举报
回复
不懂,up
僵哥 2008-11-18
  • 打赏
  • 举报
回复
拜托,VB版才回复过你。用Windows API,任何支持Windows API的Windows 程序都通用。
Waiting4you 2008-11-18
  • 打赏
  • 举报
回复
这上面这句在BCB里是:
TFileStream *stream = new TFileStream([你要锁的文件], fmOpenReadWrite|fmShareExclusive);
fieldisme 2008-11-18
  • 打赏
  • 举报
回复
拦截API函数CopyFile应该可以防止复制,不过没有试过,有没有试过的高手说下
huyongsc 2008-11-18
  • 打赏
  • 举报
回复
你所说的代码无效,没法防止复制
僵哥 2008-11-18
  • 打赏
  • 举报
回复
VB版我不是已经发了代码了吗?你需要C++Builder版的?
HANDLE FileHandle = INVALID_HANDLE_VALUE;/*全局变量用来保存文件的句柄,解锁时CloseHandle(FileHandle)即可*/
bool __fastcall LockFile(AnsiString FileName)
{
FileHandle = CreateFile(FileName.c_str(),
NULL,
0,/*禁止其它程序访问*/
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_ARCHIVE |
FILE_ATTRIBUTE_HIDDEN |
FILE_ATTRIBUTE_NORMAL |
FILE_ATTRIBUTE_READONLY |
FILE_ATTRIBUTE_SYSTEM,
NULL
);
if (FileHandle == INVALID_HANDLE_VALUE)
return false;
return true;
}
huyongsc 2008-11-18
  • 打赏
  • 举报
回复
具体如何使用?

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧