如何搜索硬盘上一个较深层的目录?(10分)

  • 主题发起人 主题发起人 mxq888
  • 开始时间 开始时间
M

mxq888

Unregistered / Unconfirmed
GUEST, unregistred user!
提这个问题是因为,我想给软件加使用次数限制,想找硬盘上一个不容易找到的地方,存放记录使用次数的文件,我想找个D,E盘上(不要C盘,可防重装)一个不容易发现的文件夹里存在文件,请问怎么在程序中找到这样一个目录呢??<br>不要说用注册表吧,我不要求这个限制次数的方法多么安全,只要对一般人不太懂电脑的人有效,就行了。关键是重装也没用。<br>请指点,谢谢!
 
怕没说清楚,补充一下:我是要找一个目录,不是搜索这个目录下的文件,
 
用函数 FindFirstFile<br> &nbsp; &nbsp; &nbsp; &nbsp;FindNextFile
 
找和搜不就是一个意思吗?<br>你是想要一下事先已经存在的层次多点的目录吧?除了系统目录外没有。<br>自己建立一个不就可以了?
 
if DirectoryExists('给出你所说的那个深层目录的全路径,比如c:/xxx/xxx/xxx.../xxx') then 找到<br>else 没找到.
 
如果你的目录是随机的,而且不知道在哪个盘下,你只能用搜索文件的方式搜(微软没提供搜索目录的方式,不过搜索文件的中途,可以判断什么是目录什么是文件),楼上说的FindFirstFile和FindNextFile足够你用了
 
&gt;&gt;不要说用注册表吧,我不要求这个限制次数的方法多么安全,只要对一般人不太懂电脑的人有效,就行了。关键是重装也没用。<br><br>人家把硬盘重分区了你这个也没有用了.要想限制重装都不能用的软件,估计不太现实.....
 
自己建立一个很容易被人发现啊, 我是没有什么更好的办法才这样想的。<br>我现在想这样:<br>在一个比较隐藏的目录下生成一个文件,记录使用次数,日期。同时在注册表中也记录同样信息,如果某次运行程序时发现此文件不存在,但注册表中有,就再按注册表中创建一个,把使用次数日期补充进去。如果注册表中没有,但文件还在,就在注册表中补充。除非两者都不存在,就办法了,我想这种简单的方法,对一般的人来说,又且他知道的情况下,肯定有一定效果的。<br>辛苦做的东西,做好了使用的人不兑现,没办法只能想点不算损的招防一下,也不为过,我白做过好几个软件了。<br>大家再出招啊,呵~~~~~~~~~~~~~~<br>如果能把使用信息记录到扇区什么地方就好了,可惜不会
 
又且他知道的情况下---》又且他不知道的情况下
 
那就按照你说的做啊,我看不出这和搜索目录有什么关系,如果你的程序要存某个目录,你一定知道这个目录在哪里,如果你知道这个目录在哪里还用搜吗?
 
我有更好的方法了,就是限制功能,这个早知道的,不过是想到地好的限制方法。大概如下:<br>因我的程序要用到一个数据表,其中有编号,是和日期相关的,每年都从001开始计,一直到大概365。前面要加年四位年,使用者每天要输入当天的新数据,这样我只要判断编号大于某个数值后(所有数据中,只要有一个编号大于设定值就算),程序不再做处理,但不提示,就可以了,或给出错误结果。。。等等随你怎么做了。<br>使用这种方法的关键是:尽可能地不让使用者知道,软件不能用了,是和数据编号有关的。<br>就算偶而想到可能与此有关,因为他要把编号全改过来很麻烦啊,一般估计他也不会这么做了。<br>如果你的程序中,有这样的数据可以利用,这么做比限制使用次数天数都好。<br>分数平分吧,zqw0117讲的多,多一分[:D]
 
多人接受答案了。
 
to mxq888,其实你是怕对方不付款吧?很简单,如果对方不是高手的话,设定一个日期(比如,06年12月31日),在这个时间范围内,运行程序好无问题,超过这个期限,运行什么功能都Show个MessageBox,要他给钱,除非他有能力反汇编或者修改exe,如果他没有反汇编的能力,这个办法也不错,我就是这样做的
 
to zqw0117:<br>怎么检查日期啊,他的计算机要改日期怎么办,不太明白你的意思,也许你有方法吗?
 
后退
顶部