HWND NowHandle; //현재 구한 핸들
        BOOL NextMode = FALSE;
        char* NowCaption=NULL;
        vector<string> RunningPgm;
        char buffer[255];        
        while(1)
        {                 
                if(!NextMode)
                {
                        NowHandle = GetWindow(hWnd, GW_HWNDFIRST);
                        NextMode ^= 1;
                }
                else
                {
                        NowHandle = GetWindow(NowHandle, GW_HWNDNEXT);
                }
                if(!NowHandle) break;

                GetWindowText(NowHandle, buffer, 255);
                if(strlen(buffer)) //길이가 있으면
                {
                        RunningPgm.push_back(buffer);
                }
                
                //sort(RunningList.begin(), RunningList.end()); //할 필요가 없네 -_-~~
        }
        sort( RunningPgm.begin(), RunningPgm.end());
여기서 이상한게 sort 를 해버리면 문자열이 뒤죽 박죽 되어버립니다. 해보세요;
왜 저렇게 되는지 모르겠습니다.

영양가 없는 질문이지만 아시는 분은 답글 꼭 달아주세요;
sort 의 3번 째 인자는 ;; 의미가 없었씁니다.

그냥 하도 답답해서 저렇게 해봤어요;