C# P/Invoke函数的32位版本
我正在用C语言编写代码,它使用p/Invoke函数,例如C# P/Invoke函数的32位版本,c#,pinvoke,C#,Pinvoke,我正在用C语言编写代码,它使用p/Invoke函数,例如NtQuerySystemInformation。但是,我注意到,这个函数只返回与我的进程比特数相同的进程相关的信息,我希望从系统上的每个进程中获取这些信息。有没有一种方法可以从同一个方法调用ntdll.dll中的32位和64位版本的函数 [DllImport("ntdll.dll")] private static extern NTStatus NtQueryObject( IntPtr objectHandle, Ob
NtQuerySystemInformation
。但是,我注意到,这个函数只返回与我的进程比特数相同的进程相关的信息,我希望从系统上的每个进程中获取这些信息。有没有一种方法可以从同一个方法调用ntdll.dll中的32位和64位版本的函数
[DllImport("ntdll.dll")]
private static extern NTStatus NtQueryObject(
IntPtr objectHandle,
ObjectInformationClass informationClass,
IntPtr informationPtr,
uint informationLength,
ref uint returnLength);
最明显的方法是消除抖动强制,如果你想做这类事情,在64位操作系统上以32位模式运行没有任何好处。右键单击项目>属性>构建选项卡>取消选中“首选32位”复选框。请记住,.NET Framework中已经使用了NtQuerySystemInformation,它为Process类提供了数据。的可能重复