0

我想从我的 c++ 代码中控制解压缩命令。我的问题是,如果我要解压缩的 ZIP 文件是密码加密的,解压缩工具会要求输入密码。

所以我需要从我的 c++ 代码中给它密码并按回车,但我希望我的代码自动执行此操作。

所以这是我到目前为止得到的,但是当我运行它时,首先会执行 system() 命令然后程序继续运行,但是当解压缩要求它时它不会将密码写入终端:(

#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 回答