У меня есть приложение, разработанное в. NET Framework, и теперь я обновляю его до. NET CORE, а в. NET CORE метод GetProcAddress для kernel32.dll (DllImportAttribute) получает другой адрес процесса чем такое же приложение в. NET Framework, потому что такое бывает, если это точно такой же код? Как я могу заставить. NET CORE возвращать тот же адрес для этого процесса, что и. NET Framework?
[DllImport("kernel32.dll", CharSet = CharSet.Ansi, SetLastError = true)]
internal static extern IntPtr GetProcAddress(IntPtr hModule, string procName);
private static void GetProcess()
{
IntPtr mh = Kernel32.GetModuleHandle("kernel32.dll");
if (mh != IntPtr.Zero)
{
IntPtr load_library_w = Kernel32.GetProcAddress(mh, "LoadLibraryW");
}
}
- NET Адрес процесса Framework (load_library_w): 0x777c1620
- NET Адрес процесса CORE (load_library_w): 0x00007ff887a5fe80
Я хотел бы знать, как я могу получить такую же память адрес как в. NET Framework.