Основы программирования на Win32 C - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь отобразить аргументы командной строки.Это мой текущий код.

#include "windows.h"
int _stdcall WinMain ( HINSTANCE  hInstance,  
                       HINSTANCE  hPrevInstance,       
                       LPSTR  lpszCmdline,  
                       int  nCmdShow  )
{ 
    MessageBox (  0, lpszCmdLine,L"Title",0); 

    return  ( 0 ) ; 
} 

Я получаю разные символы в приложении.

Какие изменения я должен сделать, чтобы отобразить аргументы командной строки в окне приложения?

1 Ответ

0 голосов
/ 22 августа 2019

Поскольку lpszCmdline - это LPSTR, (ASCII, а не UNICODE), первая опция будет использовать ASCII-версию MessageBox (), но, поскольку UNICODE является стандартом, я бы предложил использовать UNICODE-версию win32 точки входа.См. Следующий код:

#include "windows.h"
int _stdcall wWinMain ( HINSTANCE  hInstance,  
                       HINSTANCE  hPrevInstance,       
                       LPWSTR  lpszCmdline,  
                       int  nCmdShow  )
{ 
    MessageBox (  0, lpszCmdLine,L"Title",0); 

    return  ( 0 ) ; 
} 

Более того, чтобы преобразовать командную строку в массив строк в стиле argv, вызовите функцию CommandLineToArgvW .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...