CommandLineToArgvW

Discussion in 'WASM.BEGINNERS' started by La_plaza, Nov 26, 2008.

  1. q_q

    q_q New Member

    Blog Posts:
    0
    Joined:
    Oct 5, 2003
    Messages:
    1,706
    patolog
    > sub esp, 4*1
    А если подумать?
     
  2. patolog

    patolog New Member

    Blog Posts:
    0
    Joined:
    Dec 29, 2007
    Messages:
    49
    адд, конечно адд
     
  3. jershell

    jershell New Member

    Blog Posts:
    0
    Joined:
    Feb 11, 2009
    Messages:
    18
    Что-то непонятно с CommandLineToArgvW
    Возвращает две перменные, первая кол-во аргументов.
    Второй массив из аргументов. Вот у меня вопрос: "как из него вытащить стрроковую перменную?". Вотъ код:

    Code (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