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;
}
誰かが私に答えてくれることを願っています:)