기존에 런처에서 게임 스타트 버튼 누르면 cmd창 뜨면서 게임이 실행되는데
이유는 cmd명령어로 프로그램들을 실행시킨다.
분석해보니 코드상으로도 start 명령어는 모두 cmd 명령어를
거쳐서 실행된다.
근데 문제가 게임을 실행하고 0.5초간 딜레이를 줬다가 프로세스
리스트에서 cmd를 찾아 종료시키는 방식을 사용했는데 크나큰 오류가 생겼다.
유저들 일부가 위 문제로 게임실행에 에로사항이 꽃 피었는데
그 버그는 바로... 게임이 실행안되고 cmd창마저 종료가 안되던것!
게임 실행 명령어 입력하고 쓰레드로 0.5초 딜레이를 주고 그 다음
프로세스리스트를 검색하여 cmd를 종료하는 방식을 사용하였는데
내 생각에는 0.5초 지난 후 cmd가 프로세스 리스트에 없고 킬 명령 이후 cmd가
프로세스 리스트에 올라가서 킬 명령 수행이후 아무 처리가 되지 않아 발생한 것
으로 판단이 되는데... 확실한건 잘 모르겠다.... 으으..
아무튼 위 버그를 해결하고자
msdn이랑 포스팅들을 찾아 본 결과 cmd에서 외부 프로그램 실행 한 다음
cmd를 지정한 딜레이 후 종료해주는 함수도 있었고
cmd창 자체가 뜨지 않도록 숨기는 기능도 있어서 이걸로 해결했다.
댓글 없음:
댓글 쓰기