0
#define UNICODE
#define WINVER 0x502
#include <stdio.h>
#include <windows.h>
#include <tchar.h>

int _tmain( int argc, TCHAR* argv[] ) {

    if ( argc > 1 && lstrcmpi( argv[1], L"install" ) == 0 ) {
        printf ( "In install\n");
    }
    else if ( argc > 1 && lstrcmpi( argv[1], L"uninstall" ) == 0 ) {
        printf ( "In Uninstall\n" );
    }
    else if ( argc > 1 && lstrcmpi( argv[1], L"start" ) == 0 ) {
        printf ( "In Start\n" );
    }
    else {
        printf ( "In else part\n" );
    }

    return 0;
}

上記のコードはコマンド ライン引数を検出せず、常に「else」部分を出力します。私が意図したことを達成する方法??

「MINGW」を使用しています..Windows XPの場合..

ありがとう..

4

1 に答える 1

3

UNICODEは定義されていますが、MINGWコンパイラはwmainを定義していないと思います。チェック コードでは、むしろ CommandLineToArgvW を使用します。

Ps: 私の英語でごめんなさい :-)

于 2012-05-18T16:33:42.080 に答える