public static void Enum16BitProcesses() { // create a delegate for the callback function ProcessTasksExDelegate procTasksDlgt = new ProcessTasksExDelegate(YourEnumerateClass.ProcessTasksEx); // this part is the easy way of getting NTVDM procs foreach (var ntvdm in Process.GetProcessesByName("ntvdm")) { Console.WriteLine("ntvdm id = {0}", ntvdm.Id); int apiRet = VDMEnumTaskWOWEx(ntvdm.Id, procTasksDlgt, IntPtr.Zero); Console.WriteLine("EnumTaskWOW returns {0}", apiRet); } }
public static extern int VDMEnumTaskWOWEx( int processId, ProcessTasksExDelegate TaskEnumProc, IntPtr lparam);