Beispiel #1
0
        private List <ModuleInformation> GetModuleInfos()
        {
            IntPtr[] moduleHandles = new IntPtr[1024];

            WinApi.EnumProcessModules(ParentProcessHandle, moduleHandles, Marshal.SizeOf(typeof(IntPtr)) * moduleHandles.Length, out var needed);

            List <ModuleInformation> moduleInfos = new List <ModuleInformation>();

            for (int i = 0; i < moduleHandles.Length; i++)
            {
                if (moduleHandles[i] != IntPtr.Zero)
                {
                    moduleInfos.Add(ModuleInformation.InitializeFromHandle(ParentProcessHandle, moduleHandles[i]));
                }
            }

            return(moduleInfos);
        }