我做了一个程序,程序主要是实现登陆密码的各种功能,密码是存在一个.TXT文件中的,现在生成的文件是可见的,怎么能通过修改代码让其生成文件是隐藏的?
当然不能在磁盘中右键点文件属性设置啦,嘿嘿
那,创建文件代码是这样的:
CString strTemp;
CFile mFile;
mFile.Open(L"\\password.TXT",CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite);
CArchive ar(&mFile,CArchive::store);
大家帮忙咯,谢谢喔
看一下MSDN吧,查一下Open或者CreateFile的参数,应该有这样的参数设置吧。
我家里没安装MSDN,记不得了。
CFile::SetStatus()来设置文件的属性
enum Attribute
{
normal = 0x00,
readOnly = 0x01,
hidden = 0x02,
system = 0x04,
volume = 0x08,
directory = 0x10,
archive = 0x20
};
自己去找一下这个函数的用法,设置成hidden或者system都可以隐藏的
我的不是用CFile类,而用用了CArchive类。关于CFile::SetStatus()真的不太会用,如果可以,给我详细些的办法喔 谢谢破破和其他高手
AND,本人QQ是109987304,在家会上网,希望能和大家多交流,谢谢!
对于一个想看你密码的人来说,你隐藏不隐藏都是无所谓的,只是时间问题,想要做安全,关键是要把你的密码加密,然后秘钥只有你知道,这样才叫最基本的安全,那些所谓的隐藏只是糊弄小孩子的方法。
楼上说的是有道理的。 但,我真心的只是想给文件隐藏。。。。
哎~~~~
直接就:
pFileName = L"\\password.TXT";
CFileStatus status;
CFile::GetStatus( pFileName, status );
status.m_attribute = hidden(或者sysytem);
CFile::SetStatus( pFileName, status );
我的MSN是barachenshu@hotmail.com 破破加我,加完我在这跟帖告诉我下,然后我结贴。
我试了 提示我 error C2065: 'hidden' : undeclared identifier 是不是我差什么头文件没包含?
失误了!
“status.m_attribute = hidden(或者sysytem);”改成“status.m_attribute = Attribute.hidden(或者Attribute.sysytem);”
或者直接status.m_attribute = 2
SetFileAttributes(_T("\\password.txt"), FILE_ATTRIBUTE_HIDDEN);