이 방법을 기록한 블로그가 현재 검색이 되지 않아서 MS측에서 제공하는 것을 작성할려고 한다. 3
여기에서 작동하는 방법을 이용하면, STDIN과 STDOUT을 받아서 처리할 수 있게 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | HANDLE write_in, write_out; HANDLE read_in, read_out; SECURITY_ATTRIBUTES sec; long unsigned int writen=0; long unsigned int readn=0; int rtv; char command[80] = {0,}; char buffer[MAX_LINE]; STARTUPINFO si={0,}; PROCESS_INFORMATION pi; //pthread pthread_t read_pthread; pthread_t write_pthread; sec.nLength=sizeof(SECURITY_ATTRIBUTES); sec.bInheritHandle=TRUE; sec.lpSecurityDescriptor=NULL; CreatePipe(&write_out,&write_in,&sec,0); CreatePipe(&read_in,&read_out,&sec,0); sprintf(command,"./adb.exe shell",NULL); si.cb=sizeof(STARTUPINFO); si.hStdInput=write_out; si.hStdOutput=read_out; si.dwFlags=STARTF_USESTDHANDLES; rtv=CreateProcess(NULL, command, NULL, NULL, TRUE, NULL, NULL, NULL, &si, &pi); | cs |
윗 같이 사용할 경우에, 입/출력 버퍼를 PIPE에 연결하여 처리할 수 있게 된다.
이렇게 하면, ADB의 SHELL의 입/출력을 다른 쪽으로 연결되어서 처리하게 된다.
'Android Debuger - 분석 및 프로그래밍' 카테고리의 다른 글
안드로이드 자동화 7 -Power Shell로 간단한 잠금화면 껏다 켰다 하기.- (0) | 2015.06.18 |
---|---|
안드로이드 자동화 6 -ADB Shell COMMAND 전체 소스- (0) | 2015.06.17 |
안드로이드 자동화 4 -ADB의 명령어들- (0) | 2015.06.16 |
안드로이드 자동화 3 -ADB와의 PIPE 통신- (0) | 2015.06.14 |
안드로이드 자동화 1 -ADB와 실행 프로그램 간의 연결- (0) | 2015.06.11 |