0

C++ コードから unzip コマンドを制御したいと考えています。私の問題は、解凍したい ZIP ファイルがパスワードで暗号化されている場合、解凍ツールがパスワードを要求することです。

そのため、C++ コードからパスワードを入力して Enter キーを押す必要がありますが、コードでそれを自動的に行う必要があります。

これが私が今まで得たものですが、実行すると、最初にsystem()コマンドが実行され、次にプログラムが続行されますが、unzipが要求したときにパスワードが端末に書き込まれません:(

#include <iostream>
#include </System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/Headers/CGEvent.h>
#include <Carbon/Carbon.h>

int main (int argc, const char * argv[])
{

    using namespace std;

    system("clear");

    //----------------------------------------------

    {
        system("unzip /Users/das_virus/Desktop/NeuerOrdner2/M1/Auswahl.zip"),
        cout << "a";

        /*CGEventRef event1, event2, event3, event4;

        event1 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)0,true);
        event2 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)0,false);
        event3 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)36,true);
        event4 = CGEventCreateKeyboardEvent (NULL,(CGKeyCode)36,false);

        ProcessSerialNumber psn;
        GetFrontProcess(&psn);

        CGEventPostToPSN(&psn,event1);
        CGEventPostToPSN(&psn,event2);
        CGEventPostToPSN(&psn,event3);
        CGEventPostToPSN(&psn,event4);*/
    }

    return 0;
}

誰かが私に答えてくれることを願っています:)

4

1 に答える 1

0

-P passwordコマンド ライン スイッチを使用して、パスワードを引数として渡します。

于 2012-10-08T21:11:36.290 に答える