Winapi 응용프로그램 작성 시, system 명령어 사용에 관하여.에 대하여.
글쓴이: superdma / 작성시간: 화, 2009/11/03 - 4:59오후
Winapi를 이용해서 간단하게 시스템 정보를 수집하는 프로그램을 작성하고 있습니다.
프로세스에 관한 자세한 정보가 필요해서 MS에서 제공하는 pslist유틸의 아웃풋을 재가공해 해당 프로세스 정보를 취득하고 있는데요,
Winapi UI상에서 수집 버튼을 누를 시, 프로세스 정보를 수집하는 모듈함수를 호출합니다.
이 모듈함수에서 다음과 같은 코드를 호출하는데요,
system("pslist.exe > log.txt");
문제는 ... 모듈상에서는 분명 system 명령어를 한번만 호출했는데, 실제 화면상에서는 중복으로 4~5번 호출되는 것으로 보입니다.
저는 pslist > log.txt 의 결과를 화면상에서 알아볼수 없도록 하고 싶은데요
방법이 없을까요?
수집버튼을 누를 떄 마다, 검정색 콘솔창이 뜨는게 ...그것도 여러개가 뜨는게 너무 흉해서요 ㅠㅠ
Forums:
CreateProcess 를 사용하세요.
system 은 기본 콘솔창을 달고 다닙니다.
CreateProcess 로 Process 를 기동시킬때 6번째 인자에서 DETACHED_PROCESS Option 을 주면 콘솔창이 갈곳을 몰라(?) 화면상에 보이지 않습니다. ( 아마도 OpenVMS 에서 사용하던 방식을 그대로 유지 하는듯 합니다. )
댓글 달기