WinMain函数与main函数不同,main可以从argc得到函数个数,然后从argv[]数组里取参数。
而WinMain函数取参数是通过lpCmdLine,lpCmdLine里不能得到参数的个数。
下面使用strtok来将参数分开。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpCmdLine, // command line int nCmdShow // show state ) { char strCmdLine[MAX_PATH]; strcpy(strCmdLine,lpCmdLine); //找到第一个参数,IP地址 char *pstrParam; pstrParam = strtok(strCmdLine," "); if (pstrParam) { MessageBoxA(0,pstrParam,"IP",0); //找到第二个参数,端口 pstrParam = strtok(NULL," "); if(pstrParam) MessageBoxA(0,pstrParam,"Port",0); } } |
转载请注明:exchen's blog » strtok函数取WinMain的参数