Hola a todos, intentando ensamblar ML me muestra el siguiente error:
error A2009: syntax error in expression
esto es mostrado en la siguiente línea:
inf_process PROCESSENTRY32 <>
declaro la estructura de la siguiente manera:
PROCESSENTRY32 STRUCT
dwSize DWORD ?
cntUsage DWORD ?
th32ProcessID DWORD ?
th32DefaultHeapID DWORD PTR ?
th32ModuleID DWORD ?
cntThreads DWORD ?
th32ParentProcessID DWORD ?
pcPriClassBase SDWORD ?
dwFlags DWORD ?
szExeFile BYTE ?
PROCESSENTRY32 ENDS
¿Alguna idea del motivo de este error?, saludos.
creo que deberias revisar bien, además ProcessEntry32 es ya definida en los includes
por cierto estas ocupando radasm?
EDIT:
th32DefaultHeapID DWORD PTR ?
por:
th32DefaultHeapID DWORD ?
pero aun así la función que estoy usando no retorna bien, sospecho que es por causa de STRUCT.
Solucionado, estaba intentando utilizar la función Process32First el cual debía inicializar el valor dwSize de la estructura antes de poder llamarla, adjunto la estructura:
PROCESSENTRY32 STRUCT
dwSize DWORD ?
cntUsage DWORD ?
th32ProcessID DWORD ?
th32DefaultHeapID DWORD ?
th32ModuleID DWORD ?
cntThreads DWORD ?
th32ParentProcessID DWORD ?
pcPriClassBase DWORD ?
dwFlags DWORD ?
szExeFile BYTE MAX_PATH DUP(?)
PROCESSENTRY32 ENDS
Siempre puedes reserver la cantidad de bytes que ocupa la estructura, y luego pasar el puntero a eso.
Total, a la api poco le importa si tienes o no definidas las estructuras, mientras este reservado el espacio necesario.