Требуется получить список локальных групп сделал так: Код (Text): .386 .model flat, stdcall option casemap:none include c:\masm32\include\windows.inc include c:\masm32\include\kernel32.inc include c:\masm32\include\user32.inc includelib c:\masm32\lib\kernel32.lib includelib c:\masm32\lib\user32.lib .data hRead dd 0 hWrite dd 0 bytesRead dd 0 szGetGroup db "net localgroup",0 szCaption db "localgroup",0 .data? sat SECURITY_ATTRIBUTES <?> startupinfo STARTUPINFO <?> pinfo PROCESS_INFORMATION <?> buffer db 1024 dup (?) .code start: mov sat.nLength,sizeof SECURITY_ATTRIBUTES mov sat.lpSecurityDescriptor,NULL mov sat.bInheritHandle,TRUE invoke CreatePipe, addr hRead, addr hWrite, addr sat, NULL .if eax != NULL mov startupinfo.cb,sizeof STARTUPINFO mov startupinfo.lpReserved, NULL mov startupinfo.lpDesktop, NULL mov startupinfo.lpTitle, NULL mov eax,hWrite mov startupinfo.hStdOutput,eax mov startupinfo.hStdError,eax mov startupinfo.dwFlags, STARTF_USESHOWWINDOW+STARTF_USESTDHANDLES mov startupinfo.wShowWindow,SW_HIDE invoke CreateProcess, NULL,addr szGetGroup,NULL,NULL,TRUE,\ NULL,NULL,NULL,addr startupinfo,addr pinfo invoke CloseHandle,hWrite invoke Sleep,1000 .while TRUE invoke RtlZeroMemory,addr buffer,1024 invoke ReadFile,hRead,addr buffer,1023,addr bytesRead,NULL .if eax==NULL .break .endif invoke MessageBox,NULL,addr buffer,addr szCaption,MB_OK .endw .endif invoke CloseHandle,hRead invoke ExitProcess, 0 end start Пожалуйста посоветуйте как теперь грамотно вытащить из результата названия групп для дальнейших действий с ними.
Спасибо, но наверное это не то немного. Я так понял что strstr проверяет наличие подстроки в строке. Вот бы чтонибудь типа split() в perl. Разделить в массив по *