我想从我的c ++代码中控制unzip命令。我的问题是,如果我要解压缩的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;
}
我希望有人能给我一个答案:)
答案 0 :(得分:0)
使用-P password
命令行开关将密码作为参数传递。