c# - 检查文件访问权限,获取进程 ID

标签 c# c++ c

是否可以检查特定目录中的文件是否被进程 X 访问并获取进程 ID(在 C++ 或更好的 C# 中)?

我认为一定有那么一刻,文件在被进程打开之前被进程访问。 (例如防病毒工具也在使用它)

例子:

  1. 我双击一个txt文件
  2. 在记事本自动打开之前,c++或c#程序应该在打开记事本之前获取记事本的进程ID。

这可能吗?有人告诉我,这可以用低级 Hook 来完成,但我还没有找到“文件访问 Hook ”。

谢谢。

最佳答案

HWND hWnd = FindWindow(0, "Untitled - Notepad"); //Specify the title of notepad.exe
DWORD ProcessId = GetWindowThreadProcessId(hWnd, &ProcessId);

关于c# - 检查文件访问权限,获取进程 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2303776/

相关文章:

c# - 为什么在 C# 网络中使用 TCPListner 时需要读取器/写入器流?

c# - <include> 注释标签是否会抑制智能感知?

c++ - 使用带有指针和文件概念的类 为什么我的代码在第一种情况下不起作用?

c - 无向图 -> 深度优先搜索 C 编程 - 计算连接组件的数量

c# - lock 语句中还需要 volatile 吗?

c++ - Cocos2dx : Deleting kinematic bodies once they are off screen

c++ - 使用istream遇到错误将double输入int变量

c - 一次释放堆上多个区域的机制

c - 弹性我很困惑

c# - 关于 C# 中的泛型和列表方法 Contains()