2013-01-15 1 views
0

WinMain을 사용하려고 시도하는 동안 명령 줄 (예 : -w 1280 -h 1024)을 통해 프로그램을 통해 매개 변수를 전달하려고 할 때 문제가 발생합니다. 내가 찾은 모든 주제를 살펴보고 빌드하고 실행하는 코드를 만들었지 만 매개 변수가 완전히 무시됩니다!WinMain 및 CommandLineToArgvW를 통한 명령 줄 매개 변수

내 코드 : (물론 따옴표없이) 내가 는 "800 -h 600 -w window.exe"로 전달하는을 시도하고있어

LPWSTR *szArgList; 
int argCount; 

szArgList = CommandLineToArgvW(GetCommandLineW(), &argCount); 

for(int i = 1;i < argCount;i++) 
{ 
    if(i + 1 != argCount) 
    { 
     if(szArgList[i] == L"-w") 
     { 
      width = _wtoi(szArgList[i+1]); 
     } 
     else if(szArgList[i] == L"-h") 
     { 
      height = _wtoi(szArgList[i+1]); 
     } 
    } 
} 
MSG msg; 
BOOL done=FALSE; 
if(MessageBox(NULL,"Fullscreen?", "my window", MB_YESNO|MB_ICONQUESTION)==IDNO) 
{ 
    fullscreen=FALSE; 
} 
if(!CreateGLWindow("Window",width,height,16,fullscreen)) 
{ 
    return 0; 
} 

내가 내 누락 아무것도 내 수면 저하 된 코드?

답변

1
szArgList[i] == L"-w" 
szArgList[i] == L"-h" 

C 및 C++은 문자 대신 포인터로 비교됩니다. strcmp를 사용하십시오.