Mendapatkan proses induk dalam .NET adalah tugas biasa yang boleh dilaksanakan menggunakan panggilan platform (p/invoke). Walau bagaimanapun, artikel ini memperkenalkan alternatif yang tidak perlu menggunakan p/invoke. Penyelesaian ini menggunakan fungsi ntQueryInformationProcess di perpustakaan NTDLL.DLL, tetapi ia tidak berinteraksi secara langsung melalui p/invoke, tetapi menggunakan kelas ParentProcessUtilities untuk abstrak proses.
Kelas ParentProcessUtilities mengandungi kaedah statik, seperti GetParentProcess, yang menerima contoh kelas Procestess yang menunjukkan proses proses induk.
[StructLayout(LayoutKind.Sequential)] public struct ParentProcessUtilities { // 这些成员必须与PROCESS_BASIC_INFORMATION匹配 internal IntPtr Reserved1; internal IntPtr PebBaseAddress; internal IntPtr Reserved2_0; internal IntPtr Reserved2_1; internal IntPtr UniqueProcessId; internal IntPtr InheritedFromUniqueProcessId; }
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan proses induk dalam .net tanpa menggunakan p/invoke?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!