发布网友 发布时间: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改个名字不就完了?