【问题标题】:Creating Hidden File with Flex/AIR on Win在 Win 上使用 Flex/AIR 创建隐藏文件
【发布时间】:2012-05-07 22:22:36
【问题描述】:

如何在我的 Win 文件系统上创建隐藏文件? 我读过你应该使用本机代码,我知道 AS3 有 NaviteProcess 类,但我真的不知道如何使用它,也找不到太多关于它的信息。

有人知道怎么做吗?

提前谢谢你!

【问题讨论】:

    标签: actionscript-3 native-code hidden-files


    【解决方案1】:

    清理以更好地反映我们的位置并将保持更新:

    基于以下信息: http://deepanjandas.wordpress.com/2010/09/10/writing-executing-cmd-scripts-through-air/

    private var applicationDirectory:File;
    
    private function createCMDFile():void
    {
        applicationDirectory = File.desktopDirectory;
        var cmdFile:File = applicationDirectory.resolvePath( 'hide.cmd' );
        var stream:FileStream = new FileStream()
        stream.open( cmdFile, FileMode.WRITE );
    
        var dataString:String = "ATTRIB +H \\ C:\\Users\\***yourUserName***\\***fileToHide.txt***"; //or any path you want just be sure to use \\ instead of \ and obviously change ***yourUserName*** and ***fileToHide.txt***
    
                stream.writeMultiByte( dataString, "ANSI" );
        stream.close();
    
        stream = null;
    
        var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
        nativeProcessStartupInfo.executable = cmdFile;
    
        var process:NativeProcess = new NativeProcess();
        process.start(nativeProcessStartupInfo);
        process.addEventListener( NativeProcessExitEvent.EXIT, onExitHandler );
    }
    
    private function onExitHandler( event:NativeProcessExitEvent ):void
    {
        var cmdFile:File = applicationDirectory.resolvePath( 'hide.cmd' );
        cmdFile.deleteFile();
    }
    

    【讨论】:

    • 这很有帮助,虽然我的 .cmd 文件有问题...如果我将 as3 生成的字符串复制并粘贴到提示窗口中,一切都可以,但如果我运行 hide.cmd文件(通过空气和双击)没有任何反应... =\
    • 尝试在 hide.cmd 文件的末尾添加“暂停”并手动运行它。 pause 命令将使命令提示符保持打开状态,以便您阅读是否有任何错误。不是一个 DOS 人,但如果你在其中看到任何东西,请告诉我,我会尽力提供更多帮助。
    • 返回的错误是这样的:C:\Users\ANDREA\Desktop>´╗┐attrib +h "C:\Users\ANDREA\Desktop\.prova" "´╗┐attrib" is not recognized as an internal or external command, an executable program or batch file 因为我不在家,所以我用记事本新建了一个 cmd 文件。提示似乎是我没有输入的奇怪符号°_°
    • 您试图让 .cmd 文件运行的确切命令是什么?我知道你说过它可以通过复制粘贴到 cmd 提示符中来工作,所以它应该在批处理文件中工作。让我知道您尝试使用的命令(没有疯狂的特殊字符),我会做一些测试。
    • 明白了!写入流的行应该是这样的:stream.writeMultiByte( dataString, "ANSI" ); 你应该更新你的答案 =)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 2015-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    相关资源
    最近更新 更多