I was just looking over Win32::Process::Info and comparing it to how I do things in my own package. To my surprise, Tom Wyant (the author) provides an interface that I hadn't heard of before (or forgot about) called WMI - Windows Management Instrumentation. I don't understand it yet.
The problem with getting process information on Win32 systems is that there are *too many* different ways to do the roughly the same thing. Of course, the differences are just big enough that no one interface gives you all the information that you want. That, or it's not supported on your version of Windows (or requires additional components be installed).
I found this page this lists no less that FIVE ways to enumerate processes information on Win32 systems. This includes one, ZwQuerySystemInformation, that isn't even documented on the MSDN site.
What a pain.