(50分)(急)双击一个文件打开另一个程序的方法。

来源:百度知道 编辑:UC知道 时间:2024/05/17 05:28:17
我在做一个文件加密的程序,用MFC做的。现在我要实现的就是,当用户想要双击打开一个已加密的文件时,弹出我的加密程序,要求输入密码之类的。但是我不知道怎么实现。比方说我加密了一个叫test.txt的文件,当用户要打开它是是运行的我的lockfile.exe.该怎么实现。
我想过是改变的的打开方式,但不知道怎么实现,还有想该修改注册表,但注册表函数不会有。
请告诉我怎么实现,如果可以举例的话更好,谢谢,回答的好的追加分数。
1楼是什么意思啊?我很菜的,我的想法是这样的,把要加密的文件复制到一个隐藏的文件夹里,再让原来的文件双击打开的是我的程序,解密的时候再把原来的文件复制回来。这样可以吗?也只是应付菜鸟,呵呵~其实真正的文件加密是什么原理呢?

只能通过修改注册表。我记得 MFC 里面有添加注册表的函数。
你自己去 MSDN 上搜索吧。函数太多记不住……
不行的话,写个 reg 文件安装时导入应该也可以的。

别忘了你的加密程序要自己设计一个新的扩展名,除非你想做流氓软件……
--------------
你这也太骗人了吧……
看看 .NET 资源吧,支持 AES DES RAS 等等很多加密方法,编写程序很简单的。

双击打开你的程序,这要看你的程序怎么挂接到文件的打开上,.txt 文件本来是记事本打开,.exe 文件是直接运行,你怎么能强行让这些文件改为用你的文件打开呢?这是病毒行为。

你可以这样,aaa.txt 如果加密,你就在给他加上一个扩展名,比如 .jiami 。文件变成了 aaa.txt.jiami 。之后你的程序就可以挂在 .jiami 这个扩展名上,所有这个扩展名程序的打开,都是你的程序。
之后你的程序怎么处理就合打开无关了,是 AES 加密这个文件,还是偷偷把文件藏起来那就是你的事情了。

常用的加密算法里最安全的是 RAS (不对称加密算法,加密和解密用的不是同一个密码,不过他的密码很长,大脑的记忆能力是个问题。详细他的加密方法你可以搜索)
其次是 AES , Trip DES , DES 。这三个加密和解密都是同一个密码,但要注意,他们的密码有长度限制。

最简单的就是用密码和被加密的数据进行一次 XOR 操作。解密的话,密码和加密后的数据再 XOR 一次就恢复了。