0

WinMainを利用しようとしているときに、コマンドライン(例:-w 1280 -h 1024)を介してプログラムにパラメーターを渡そうとすると、問題が発生します。私は見つけたすべてのトピックを調べ、ビルドして実行するコードを作成しましたが、パラメーターは完全に無視されます!

私のコード:

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;
}

私はそれを"window.exe-w 800 -h 600"として渡そうとしています(もちろん引用符なしで)睡眠不足のコードに欠けているものはありますか?

4

1 に答える 1

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

CとC++は、文字ではなくポインタで比較します。strcmpを使用します。

于 2013-10-16T10:12:35.680 に答える