用VB创建一个无法删除的目录后使用这个目录

发布网友 发布时间:2022-04-21 07:53

我来回答

5个回答

热心网友 时间:2023-09-13 09:12

Else
Fh = SetFileAttributes(Lj, FILE_ATTRIBUTE_NORMAL)
End If

End Sub
Public Sub ShanChu(Lj As String) '删除

Fh = SetFileAttributes(Lj, FILE_ATTRIBUTE_NORMAL)
Fh = RemoveDirectory(Lj)

End Sub

程序中:
ChuangJian "c:\abc..\", True
'说明:创建这样一个目录,后面的true是创建一个隐藏的系统文件。另外,写路径的时候,abc..\后面的这个“\”千万不能省,省了系统就不会把这个不合法的名字当成目录来处理了。

ShanChu "c:\abc..\" 这是删掉这个目录的代码(仅在这个目录为空的时候)。

以上代码均测试成功。

经过测试我可以向这个目录中放文件。
用api函数 copyfile 把一个文件复制进去。函数调用成功以后那个目录里就有文件了,强的是用程序打不开这个目录,所以看不到这个文件,读不出这个问题件,但是它确实存在了。(在开始->运行里面手工写上这个路径c:\abc..\可以打开这个路径)

下面就是问题了!(注意解答下面问题均不可用shell cmd的dos方法,因为之前我已经把cmd功能给封了)
问题1:如何删除这个存放东西的目录!
问题说明:貌似windows有个约定,即在删除一个目录之前必须删除这个目录中所有的文件。而这个目录中的文件搜索不出来而又客观存在,所以给删除这个目录带来了很大的困难。

问题2: 如何利用这个特殊的目录来藏文件
现在放进的问题解决了,取出存在问题。如何把放在里面的文件copy出来和如何运行放在这个目录中的.exe程序。

(再次重申不许用dos中的rd,只许用win32自带的方法,且必须是程序自动运行实现功能,不能手动)
问题补充:就是不能用dos,为了自己远程控制程序被控端的安全,我让程序自动把dos,注册表,管理全禁止了。。。上面的删除函

热心网友 时间:2023-09-13 09:12

怎么那么多api...vb自带的函数就可以了

MkDir "c:\12..\"
Open "c:\12...\12.." For Binary As 1
Put 1, , 1234#
Close
Kill "c:\12...\12.."
RmDir "c:\12..\"

测试过,是复制上来的
你试过不行,可能是你把我的代码的哪个地方改错了,或者你的系统被修改过.
另外,我是在ntfs上测试的,没有fat32.
这应该是windows的特性吧,linux里面记得没这个特性

热心网友 时间:2023-09-13 09:13

为什么不要用dos 很直接呀~
这个文件夹的 属性改不了 所以不能隐藏 所以用filelistbox 应该能看到 或许能打开

热心网友 时间:2023-09-13 09:13

你创建的目录不能删除?可以删除的。怎么可能不能删。

热心网友 时间:2023-09-13 09:14

用RAR改个名字不就完了?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com