怎么样才能把我的一个文件夹锁住,不让别人进入,除非输入密码?

newman0708 2004-04-03 12:29:56
不想让别人进入我的文件夹,

因为用的电脑是共用电脑,所以...

请高手帮忙,谢谢!
...全文
2398 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
photohome 2004-05-09
  • 打赏
  • 举报
回复
但FileSystemWatcher好象只是对文件的更改进行侦测,而不能阻止访问指定文化夹呀!
dxhdxh2k 2004-04-12
  • 打赏
  • 举报
回复
我把MSDN中的拷贝下来:
侦听文件系统更改通知,并在目录或目录中的文件发生更改时引发事件。
有关此类型所有成员的列表,请参阅 FileSystemWatcher 成员。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.IO.FileSystemWatcher


public class Watcher
{

public static void Main()
{

string[] args = System.Environment.GetCommandLineArgs();

// If a directory is not specified, exit program.
if(args.Length != 2)
{
// Display the proper way to call the program.
Console.WriteLine("Usage: Watcher.exe (directory)");
return;
}

// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = args[1];
/* Watch for changes in LastAccess and LastWrite times, and
the renaming of files or directories. */
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
// Only watch text files.
watcher.Filter = "*.txt";

// Add event handlers.
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.Created += new FileSystemEventHandler(OnChanged);
watcher.Deleted += new FileSystemEventHandler(OnChanged);
watcher.Renamed += new RenamedEventHandler(OnRenamed);

// Begin watching.
watcher.EnableRaisingEvents = true;

// Wait for the user to quit the program.
Console.WriteLine("Press \'q\' to quit the sample.");
while(Console.Read()!='q');
}

// Define the event handlers.
private static void OnChanged(object source, FileSystemEventArgs e)
{
// Specify what is done when a file is changed, created, or deleted.
Console.WriteLine("File: " + e.FullPath + " " + e.ChangeType);
}

private static void OnRenamed(object source, RenamedEventArgs e)
{
// Specify what is done when a file is renamed.
Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath);
}
}
newman0708 2004-04-04
  • 打赏
  • 举报
回复
我已经给帖子加过分了,希望能使问题更好的得到解决。


同志们啊,我是菜鸟,所以请大家具体具体再具体!

谢谢!
lyhold 2004-04-04
  • 打赏
  • 举报
回复
这个很有难度.的设一个hook来检测用户的操作
Bob 2004-04-03
  • 打赏
  • 举报
回复
使用 FileSystemWatcher 应该可以吧:

ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemiofilesystemwatcherclasstopic.htm
liduke 2004-04-03
  • 打赏
  • 举报
回复
转贴

标题 保护你的代码——谁动了我的组件? Goofyyang(原作)

关键字 .NET security CLR



摘要:本文描述了如何用Code Access Security技术来保护代码,使代码不致被恶意调用。





作为一名.NET开发人员,你没日没夜地写代码,你的组件运行在越来越多的机器上。忽然有一天,你发现你写的组件被引用在别人写的项目里,而且最可气的是,那人竟用你的名义在做破坏它人系统的恶事!你忍不住了,大叫一声Oh shit!,然后打开MSDN,看看有什么办法能帮助你阻止这场阴谋。



OK,办法找到了,那就是.NET平台提供的Code Access Security。有大量继承于CodeAccessPermission的类可以帮你实现不同方面、不同范围的代码安全控制。你所需要做的只是从中挑出最适合的类别加以应用,从而达到保护你的组件的目的。



在经过一番挑选之后,你最终确定了使用StrongNameIdentityPermissionAttribute类。这个类允许你将组件(或类、方法)与某一强名称(通常就是你发布程序时所用的强名称)绑定,这样,只有在客户端程序具有该强名称签名的情况下才能使用你的组件。也就是说,除了你自己编写的客户端代码因为拥有同样的签名而被允许使用组件以外,任何第三方代码都无法通过StrongNameIdentityPermissionAttribute的防护,因此也就无法恶意调用你的组件了:)。听起来真的不错,马上就动手做吧!



为了简便起见,先创建一个很简单的Class Library项目,代码如下:



// SecureComp.dll

using System;



namespace musicland

{

public class SecureComp

{

public string Confidential()

{

return "This is confidential!";

}

}

}



现在的这个组件非常可怜,因为任何人都可以写代码来调用它。下面,你就要耍点手段了:):



首先引入System.Security.Permissions命名空间:



using System.Security.Permissions;



然后,在组件级加上StrongNameIdentityPermissionAttribute属性:



[assembly: StrongNameIdentityPermissionAttribute(SecurityAction.RequestMinimum,

PublicKey="0024000004800000940000000602000000240000525341310004000001000100c11c8497d”+

“283259f23d645358d65812b69136846b03a7d15124545fc3ed27d89d1330cceda4232c7bc6e8a0e7ecd857f8”+

“126d0859e2300237b3cab6f7737a92f585cbf2afb4b475c537703efb96e17e5921ff00c6e022b22f3d772f14”+

“6a3a5c7f6ccad3131b8d0465e6709e5a28cc3ca1c8b610af4162c1a18c0feb8e6993ab1")]

namespace musicland





注意,这里使用了SecurityAction.RequestMinimum,这申明除非获得StrongNameIdentityPermissionAttribute所表明的资源访问权限(即对SecureComp.dll组件的访问权限,可以把SecureComp.dll看作一样资源),否则CLR不会准许调用方(即客户端代码)访问所请求的资源;此外,在PublicKey属性中加入了你所允许的公匙(Public Key)的十六进制表示(转化成字符串类型)。CRL在运行期间将依照这一段公匙来判断调用方是否合法,除非调用方拥有相应的私匙(Private Key),否则将无法访问。看来,平时一定要倍加保护你的密钥文件,因为密钥文件(特别是private key)的泄露将会成为你无尽恶梦的根源,而延迟签名(delay signing)在这里也就显得格外重要了:.)



说到这里,你一定会有个大大的问号:这长长的一串PublicKey是怎么得出来的?难道要我凭空凑出来不成?当然不是。还记得那个Sn.exe工具吗?通过它就可以把PublicKey给提取出来。OK,打开你的命令行,定位到密钥文件所在目录并输入以下内容:



sn –p Key.snk PublicKey.snk



这样,提取出来的公匙信息就被存储在PublicKey.snk文件中。你现在只需把公匙信息读取出来并转化成适当的格式就可以了。这里,你可以使用.NET Framework自带的Secutil.exe工具,但据我所了解,Secutil工具的输出都是数组格式(我在自己的机器上测试了Secutil所提供的全部输出选项,但所得结果都是一样,这让我很感意外,不知大家是否有更好的办法),因此就动手自己写了一个小工具来完成这一读取和转换。大家如果感兴趣可以发邮件给我(因为我没有自己的网络空间可以存放。当然你也可以自己来写,因为它实在是太简单了,就是读取二进制文件)。它的运行界面如图1:








好了,现在你的代码就被全副武装起来了。试着写一个Console客户端来调用SecureComp,结果怎么样?是不是“无法获得相应权限”?试着用Key.snk给客户端程序签名后再访问,这回可以访问了吧!:)





结论:适当地应用Code Access Security可以使你的代码被保护起来,不致被第三方不正确调用;但是过多的安全保护也将造成代码运行效率下降,从而带来负面影响。

tl0 2004-04-03
  • 打赏
  • 举报
回复
关键是订阅文件夹的打开事件,FileSystemEventArgs类无法实现这个功能。看来只能用VC了。
hiaming 2004-04-03
  • 打赏
  • 举报
回复
学习
liulovetoo 2004-04-03
  • 打赏
  • 举报
回复
用多线程一个用来监视一个用来检查密码
niaoren 2004-04-03
  • 打赏
  • 举报
回复
gz
flyingbirddhp 2004-04-03
  • 打赏
  • 举报
回复
ding~~~~~~
yistudio 2004-04-03
  • 打赏
  • 举报
回复
gz
HNU 2004-04-03
  • 打赏
  • 举报
回复

save 一个
tjq_tang 2004-04-03
  • 打赏
  • 举报
回复
我想不会那么简单吧。
这里会涉及到系统底层的咚咚。不是简单c#一,二个对象能够搞定的
楼主要有心理准备。

关注。。
Bob 2004-04-03
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemIOFileSystemWatcherClassTopic.asp
gy8d3 2004-04-03
  • 打赏
  • 举报
回复
在win2000里面可以这样做。
在你的文件夹里面自定义文件夹 然后编辑模板
找到 <script language="JavaScript">
/* */
// THIS SCRIPT IS COMMON FOR ALL CUSTOM WEB VIEWS
在/* */处输入以下代码
var pass=prompt("输入密码:")
if(pass!="123456")//123456为密码
{window.location="f:";}

当密码不正确时转到你指定的文件夹或者盘符。 但这种方法的安全性并不高。

riffleliu 2004-04-03
  • 打赏
  • 举报
回复
下載一個加密軟件不就OK?
newman0708 2004-04-03
  • 打赏
  • 举报
回复
我没有装msdn,

能把那张网页发给我吗?

nch@people.com.cn
newman0708 2004-04-03
  • 打赏
  • 举报
回复
我还有一个帖子,也是这个主题,在VC中的,
帮我想想...

http://expert.csdn.net/Expert/topic/2919/2919910.xml?temp=.1697809

如果问题搞定了,我会给帖子加分!
newman0708 2004-04-03
  • 打赏
  • 举报
回复
照大家说的C#中是不很安全,那么在VC中又怎么实现呢?


反正我想实现这个功能,C#,VC随便,请大家再帮我想想。

如果有更好的办法,请大家提出来。

谢谢!
锁住隐私,藏住秘密!给你一片属于自己的空间! windows2000/NT/2003/XP/VISTA “文件夹加锁隐藏伪装专家”是一款优秀的文件夹保护软件,可以对文件夹进行打开加密码、隐藏、伪装等的保护。使用简单,操作快捷、方便。是解决你文件保密的最佳助手! 软件功能特点: 1. 操作简单:本软件是真正免安装,下载后为单一程序,直接运行即可使用,软件可放在任何地方。 2. 使用不留痕: 使用后不留任何痕迹,根本没人知道你使用了加锁、隐藏软件。如果主程序被别人删除,也不会影响加锁的文件夹,只要重新下载运行即可!   3. 保密性强:文件夹加锁后,打开文件夹必须要输入正确的密码。而且在任何环境下均不失效。加锁后的文件夹,无法复制,无法移动,无法删除! 文件夹隐藏后,在任何环境下不通过本软件无法找到你隐藏的文件夹文件夹伪装后,文件夹就会变成了伪装的对象,打开也看不到文件夹里原有的文件。可以通软件恢复伪装,从而查看里面的内容!   4. 效率快速安全:进行保护的速度特快,无论文件夹大小。即使是几个G的文件夹在瞬间即可被加锁或隐藏。软件采用目前最成熟、优秀的数据保护技术,安全性高。 5. 可轻易操作系统内的隐藏文件显示或隐藏。还可给显示隐藏文件功能上把锁,使系统内所有的隐藏文件无法“现身”。 6. 禁止使用USB设置。(可有效防止对本机数据的拷贝.)
Windows XP电脑维护工具箱是一个集系统设置、优化、修复及网络共享、安全防御、个人隐私等于一身的装机维护必备工具。该工具短小精悍,功能齐全,除常规的系统方面的维护外,更有IE主页锁定,禁止程序运行,屏蔽网址,文件夹加密,个人资料及宽带账号转移等综合功能。其中的浏览器安全启动可避免看网页中毒,高级用户设置更能满足用户多方面需要。功能还有很多,不便详述。总之,有此工具,别无它求! 01,电脑属性设置,设置系统的一些OEM信息,OEM赞助商信息需在非“经典开始菜单”下显示。 02,系统优化与修复 A、XP系统终极优化加速:包含很多注册表的优化,可加速电脑启动及运行速度,推荐使用; B、文件夹选项关联修复:文件夹选项不正常,或打不开EXE、TXT等常规文件错误时使用; C、桌面IE相关图标修复:开机显示不了桌面,淘宝购物等恶意IE伪图标无法删除等相关修复; D、输入法小喇叭等修复:任务栏异常,输入法切换失效及音量小喇叭重启后消失不见了问题; E、能上QQ不能上网修复:电脑网络正常,可是可以登录QQ旺旺等,却无法开网页时使用; F、IE新网页打不开修复:可以打开网页,但再次点击网页里的链接就没反应打不开时使用; G、内存不能为read修复:电脑时不时就弹出内存不能为read修复,修复后建议杀毒清理插件; J、XP系统疑难彻底修复:开机桌面没有图标,进不了安全模式等莫名其妙的问题时使用; 03、文件打印共享 A、完全禁用文件和打印共享:家庭电脑无需网络共享时推荐使用,可加强电脑的安全性; B、启用文件和打印共享(无验证):公司局域网需共享文件打印机时推荐使用,此时不需密码验证; C、启用文件和打印共享(需验证):公司局域网需共享文件打印机时推荐使用,此时需密码验证; D、查看当前共享状态:查看当前系统的共享状态; 04、系统垃圾清理 A、系统常规垃圾清理:清理一些TEMP等常规临时文件,推荐删除; B、系统更新残留补丁清理:清理系统升级更新补丁后残留下来的临时文件,推荐删除; C、操作系统使用痕迹清理:清理如打开过的文档记录,网页记录等使用电脑的痕迹,推荐全选删除; 05、网络安全防御 A、网址屏蔽恢复:输入网址,点击屏蔽后,该网址将无法打开;下拉提供恢复选项; B、删除所有启动项目:系统中毒非常严重时使用,可删除所以电脑启动后自动打开的程序; C、锁定注册表及任务管理器:锁定后将无权打开注册表及任务管理器,提供解禁项; D、自动建立宽带连接:宽带用户可使用该项自动建立宽带连接,方便宽带拨号上网使用; E、自定义本地连接IP模式:如自动获取,手动设置,智能绑定等,推荐使用智能绑定; F、关闭多余空闲IDE通道:可加速电脑启动过程,推荐使用,如重启后有问题使用F8最后一次配置启动; G、我要离开锁定本计算机:也就是通常说的挂机锁,锁住屏幕,输入密码后恢复正常; H、U盘只读禁止写入:执行后将不能再往U盘里存入数据,解禁后恢复正常U盘功能; I、进入安全上网模式:看--H--站时推荐使用,执行后打开浏览器安全上网,退后后记得恢复原来模式; J、自动运行autorun免疫:可避免双击磁盘病毒就运行,推荐使用; K、防止ARP网速受限免疫:可防止局域网内自己网速被人控制受限,提供自己的网速,推荐使用; L、撤销ARP网速受限免疫:可解决自身P2P终结者等限速软件无法使用的问题; M、文件粉碎:把你无法删除的文件拖入到此处,点击粉碎即可快速删除; M、QQ强制聊天:无需加对方为好友,输入对方QQ号,点击开聊即可建立临时对话; O、浏览器安全启动:下拉选择浏览器,将以第三方运行,可防止病毒入侵,浏览----H---站时推荐使用; 06、其他综合设置 A、IE主页设置:主页设置,主页无法设置等修复,同时提供锁定主页功能; B、系统设置:系统相关设置,如无法打印、打印任务无法删除可启动打印机;及其它系统相关设置; C、服务设置:追求完美的高级用户可选择相关选项进行设置,一般用户不推荐使用; D、辅助程序:罗列了一些常用的Windows命令,方便实用; F、禁止运行:输入你不想运行的程序,如输入QQ.EXE ,那你打开QQ后将无法运行,下拉可选恢复; G、文件夹加密:默认密码为888888,进去后可修改。一个盘符一个密码,方便加密U盘移动硬盘资料; 08、个人资料转移 A、IP及宽带上网账户密码:可以备份您的宽带账户密码及IP设置,方便重装系统后使用; B、个人资料转移:推荐重装系统或刚装新系统时使用,以便防止资料丢失,加快系统速度; 等等N多的功能,在这里就不一一详解了,大家好好使用吧!!!!!!!!!!

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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