c# - 如何使用c#获取进程正在访问的所有文件
问题描述
我正在尝试通过 processid 获取每个进程的进程列表和访问的文件列表。
我收到错误:无法在 DLL 'kernel32.dll 中找到名为'RtlCopyMemory' 的入口点
int nHandleInfoSize = 0x10000;
IntPtr ipHandlePointer = Marshal.AllocHGlobal(nHandleInfoSize);
int nLength = 0;
IntPtr ipHandle = IntPtr.Zero;
while ((nStatus = Win32API.NtQuerySystemInformation(CNST_SYSTEM_HANDLE_INFORMATION, ipHandlePointer, nHandleInfoSize, ref nLength)) == STATUS_INFO_LENGTH_MISMATCH)
{
nHandleInfoSize = nLength;
Marshal.FreeHGlobal(ipHandlePointer);
ipHandlePointer = Marshal.AllocHGlobal(nLength);
}
byte[] baTemp = new byte[nLength];
Win32API.CopyMemory(baTemp, ipHandlePointer, (uint)nLength);// Getting error on this
这是我使用的参考链接。
请帮我解决问题。
解决方案
推荐阅读
- python - Flask-SQLAlchemy 截断/删除表记录并绕过/忽略 IntegrityError
- powershell - powershell中用于上传apk文件的curl等效命令是什么?
- laravel - Laravel 5.6 auth - 不是标准表
- gdb - GDB 是在我浏览时列出了代码,还是我只是在做梦?
- javascript - 按旧状态和承诺结果计算新状态
- javascript - 关于生命周期方法和渲染反应?
- mysql - 选择除列满足特定条件之外的所有内容
- python - python请求中的连接错误
- javascript - 执行函数后将变量设置为 false
- mysql - 从数组以子数组开始的mysql JSON字段中选择