Perhaps usefull for somebody:

; #########################################################################

      .386
      .model flat, stdcall
      option casemap :none

; #########################################################################

      include \masm32\include\windows.inc
      include \masm32\include\user32.inc
      include \masm32\include\kernel32.inc

      includelib \masm32\lib\user32.lib
      includelib \masm32\lib\kernel32.lib

      SplitString PROTO :DWORD, :DWORD, :DWORD, :BYTE

; #########################################################################

    .data
        szFile        db 512 dup (0)
        szSize        db 512 dup (0)

        szTest        db "Notepad.exe:57344", 0

    .code

start:
        mov al, ':'
        invoke SplitString, addr szTest, addr szFile, addr szSize, al

        invoke MessageBox, 0, addr szSize, addr szFile, MB_OK
        invoke ExitProcess, eax

SplitString proc lpString:DWORD, lpBuffer1:DWORD, lpBuffer2:DWORD, lpDel:BYTE

        push esi
        push edi

        mov esi, lpString
        mov edi, lpBuffer1
    @@:
        mov al, 
        cmp al, lpDel
        je @F
        mov , al
        inc esi
        inc edi
        jmp @B
    @@:
        inc esi ; skip delimiter
        mov edi, lpBuffer2
    @@:
        mov al, 
        mov , al
        inc esi
        inc edi
        or al, al
        jnz @B

        ret
        
SplitString endp

end start
This message was edited by bAZiK, on 7/7/2001 7:57:52 AM
Posted on 2001-07-07 07:35:00 by bazik