조금 이해하기 힘드네요.. ㅎㅎ
좀더 자세히 설명해주시면 안될까요?
제가 하려는건 route print 명령어를 입력해
Default Gateway : 192.168.10.1 에서
192.168.10.1중 192.168을 다른것과 비교해서
동일하면 ok 틀리면 no를 보여주려고 합니다
도움 감사드립니다. 조금만 더 세부하게 적어주셨으면 합니다.. ^^;;
장성호 님이 쓰신 글 :
: 간단히 설명하면
:
: CreateProcess로 cmd.exe를 실행해서 cmd 프로세서의 출력을 받아오면 됩니다.
:
: [ cmd.exe의 출력을 받아오려면 ]
:
: CreateProcess 함수를 보면 9번째에 STARTUPINFO 구조체 포인터를 넘겨줍니다.
: STARTUPINFO 구조체는 winbase.h 에 다음과 같이 선언되어 있습니다.
:
:
: BOOL WINAPI CreateProcessA(
: IN LPCSTR lpApplicationName,
: IN LPSTR lpCommandLine,
: IN LPSECURITY_ATTRIBUTES lpProcessAttributes,
: IN LPSECURITY_ATTRIBUTES lpThreadAttributes,
: IN BOOL bInheritHandles,
: IN DWORD dwCreationFlags,
: IN LPVOID lpEnvironment,
: IN LPCSTR lpCurrentDirectory,
: IN LPSTARTUPINFOA lpStartupInfo, // STARTINFO 구조체포인터를 넘긴다.
: OUT LPPROCESS_INFORMATION lpProcessInformation
: );
:
:
: typedef struct _STARTUPINFOA {
: DWORD cb;
: LPSTR lpReserved;
: LPSTR lpDesktop;
: LPSTR lpTitle;
: DWORD dwX;
: DWORD dwY;
: DWORD dwXSize;
: DWORD dwYSize;
: DWORD dwXCountChars;
: DWORD dwYCountChars;
: DWORD dwFillAttribute;
: DWORD dwFlags;
: WORD wShowWindow;
: WORD cbReserved2;
: LPBYTE lpReserved2;
: HANDLE hStdInput; // 표준 출력 핸들
: HANDLE hStdOutput; // 표준 입력 핸들
: HANDLE hStdError; // 표준 에러 핸들
: } STARTUPINFOA, *LPSTARTUPINFOA;
:
:
:
: STARTUPINFO 구조체의 맨 아랫쪽에 보면
: 다음 세가지가 있습니다.
:
: HANDLE hStdInput; // 표준 출력 핸들
: HANDLE hStdOutput; // 표준 입력 핸들
: HANDLE hStdError; // 표준 에러 핸들
:
:
: 이 표준 입/출력 핸들에 적당한 핸들을 만들어서 설정해 넘겨주면 됩니다.
:
: [표준입/출력 핸들에는 어떤 걸 넘겨줘야 하는가?]
:
: 그것은 CreatePipe로 pipe를 만들어서 넘겨줘야 합니다.
:
:
: [cmd.exe의 출력을 읽고 쓰기]
: 읽기는
: STARTUPINFO 구조체의 hStdOutput 으로 넘겨준 핸들을 ReadFile로 읽으면 되고
:
: 쓰기는
:
: STARTUPINFO 구조체의 hStdInput으로 넘겨준 핸들에 WriteFile하면 됩니다.
:
:
: 이런 것을 redirect 라고 합니다.
:
: 키워드 redirect , CreatePipe , CreateProcess 로 아무데서나 검색해 보세요
:
: [참고]
:
http://support.microsoft.com/kb/190351
:
:
:
: 그럼...
:
:
:
:
:
:
:
:
: 번외편 님이 쓰신 글 :
: : cmd에서 route print 했을때
: :
: : 거의 맨 아래쪽
: : Default Gateway : 192.168.10.1 이라는 정보를 가져와서
: : 비교하려고 합니다.
: :
: : cmd 데이터를 가져오려면 어떻게 해야하나요?
: : CreateProcess 라는걸 쓰면 된다고 하는데
: : 좀더 자세히 알려주셨으면 합니다.
: :
: : 도움 부탁드립니다.