I'm using the standard toolhelp loops to retrieve information about processes and modules running on the system, and they have worked on previous OS' but not quite well in XP (known problem). All of the processes are listed, however not all of their respective modules can be found (CreateToolHelp32SnapShot on a process' modules returns -1, which basically means the process value is invalid, which makes sense because the process values are single digit numbers). I tried to use FormatMessage with GetLastError but it causes my vb to crash, so all I know is that the error code is 5. I think this is "Access Denied", which I found on this page, but when I implement it I still have the same error. Any insight to this, or should I just screw ToolHelp and go to PSAPI as Microsoft recommends (which screws 9x and 2000 users over from using this app).