如何用vc创建一个隐藏的文件?

如何用vc创建一个隐藏的文件?,第1张

我对C++的文件API不是很熟悉,不过可以给你提供一个替代方法,这个方法一定不是最好的,不过却很有效果。

如你要隐藏的文件是D:\abc.abc

那么你就可以这样

shell "cmd.exe /c attrib D:\abc.abc +h"

最后的+h是参数,可以用这种方法创建系统属性的文件呢。

答案的补充:

shell是执行程序的API,用它来执行cmd(命令提示符就是执行它,算是DOS吧) /c是参数,表示执行字符串后关闭cmd。/c后面是一个DOS命令,这个命令用来修改已存在文件的文件属性。

第二次补充:

shell就是执行一个程序的API(就是存在于系统DLL中的导出)函数,直接写在VC的代码里就可以了。

用shell就像int a一样简单的。

用shell执行一个程序,我这里写的字符串中包含了对cmd的参数,你可以试着建立一个cmd的快捷方式把我给你的/c及后面的东西加到快捷方式的cmd.exe后面,应该可以使用的。在VC里使用shell执行和那个快捷方式的效果一样。

如目标写成%windir%\System32\cmd.exe /c attrib D:\license.txt +h

那么双击这个快捷方式可以隐藏D:\license.txt这个文件。

ShellExecute(NULL,"open","cmd.exe /c attrib D:\license.txt +h",NULL,NULL,SW_SHOWNORMAL)

不好意思,我这里也没有VC++做不了,不过可以说给你看看我的QQ是 214395

VC程序的三种执行外部程序方法:

WinExec,ShellExecute,CreateProcess

如果你是控制台程序(DOS黑屏命令行),那么据我所知,应该都没办法隐藏窗口。

这三个函数都有隐藏窗口的选项,但只针对窗口程序,控制台程序不行,你试试吧,呵呵。

像你这种情况,有几个办法建议:

将代码加入工程,应该是最简单的

将a.exe做成a.dll,功能调用库,也可以

将a.exe的功能通过简单的窗口程序实现,这样无论外部调用还是内部控制,窗口都能隐藏

将a.exe做成系统服务service程序,这个是后台执行程序最合理的方式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11108909.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存