CommandLineToArgvW

Тема в разделе "WASM.BEGINNERS", создана пользователем La_plaza, 26 ноя 2008.

  1. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    patolog
    > sub esp, 4*1
    А если подумать?
     
  2. patolog

    patolog New Member

    Публикаций:
    0
    Регистрация:
    29 дек 2007
    Сообщения:
    49
    адд, конечно адд
     
  3. jershell

    jershell New Member

    Публикаций:
    0
    Регистрация:
    11 фев 2009
    Сообщения:
    18
    Что-то непонятно с CommandLineToArgvW
    Возвращает две перменные, первая кол-во аргументов.
    Второй массив из аргументов. Вот у меня вопрос: "как из него вытащить стрроковую перменную?". Вотъ код:

    Код (Text):
    1. .586
    2. .model flat, stdcall
    3. option casemap:none
    4. include \masm32\include\windows.inc
    5. include \masm32\include\kernel32.inc
    6. include \masm32\include\user32.inc
    7. include \masm32\include\shell32.inc
    8.  
    9. includelib \masm32\lib\user32.lib
    10. includelib \masm32\lib\kernel32.lib
    11. includelib \masm32\lib\shell32.lib
    12. .data
    13. MsgCaption db 'gamma',0
    14. MsgBoxTxtErr db 'Error',0
    15.  
    16. .data?
    17. nArgs dd ? ; кол-во аргументов
    18. szArglist dd ? ; масив аргументов
    19. commandStr LPWSTR ?
    20. .code
    21. _st:
    22. invoke GetCommandLineW
    23. invoke CommandLineToArgvW,eax, offset nArgs
    24. mov [szArglist],eax
    25. cmp szArglist,0
    26. jne _next
    27.  
    28. invoke MessageBox, NULL,addr MsgBoxTxtErr, addr MsgCaption, MB_OK
    29. _exit:
    30.  
    31. invoke ExitProcess,0
    32. _next:
    33. mov ebp,0
    34. _test:
    35. cmp ebp,nArgs
    36. jne _message_arg
    37. jmp _exit
    38. _message_arg:
    39. add ebp,1
    40. invoke MessageBox,0,addr [szArglist+ebp],addr MsgCaption, MB_OK
    41. jmp _test
    42. end _st