我在网络驱动器上有一个文件,该文件在我们的环境中经常被许多人使用。如何使用 Java 跟踪文件打开/运行的次数。我对文件观察者做了一些研究http://docs.oracle.com/javase/tutorial/essential/io/notification.html但是这些似乎只适用于创建、删除、修改和溢出。在我开始观看切线的文件之前,这可能吗?最好的方法是什么?
问问题
253 次
1 回答
0
我真诚地希望您现在已经找到了解决方案。
但是假设有问题的文件是某种可执行文件,您可以修改以下问题的示例:如何使用 Java 获取当前打开的窗口/进程的列表?. 并使用 JNA:
import com.sun.jna.Native;
import com.sun.jna.platform.win32.*;
import com.sun.jna.win32.W32APIOptions;
public class ProcessList {
public static void main(String[] args) {
WinNT winNT = (WinNT) Native.loadLibrary(WinNT.class, W32APIOptions.UNICODE_OPTIONS);
WinNT.HANDLE snapshot = winNT.CreateToolhelp32Snapshot(Tlhelp32.TH32CS_SNAPPROCESS, new WinDef.DWORD(0));
Tlhelp32.PROCESSENTRY32.ByReference processEntry = new Tlhelp32.PROCESSENTRY32.ByReference();
while (winNT.Process32Next(snapshot, processEntry)) {
//see if your process is open and update your counter
}
winNT.CloseHandle(snapshot);
}
}
Timer
并用一个对象轮询系统。
于 2015-06-11T17:04:43.637 回答