2
我需要监视何时执行文件(* .wav)。
我知道filesystemwatcher类。然而,这个类是否在文件被使用时通知?我也遇到了Monitor when an exe is launched。虽然我意识到这与一个EXE有关,有没有办法通知一个WAV文件已被执行?监视文件正在使用中
我需要监视何时执行文件(* .wav)。
我知道filesystemwatcher类。然而,这个类是否在文件被使用时通知?我也遇到了Monitor when an exe is launched。虽然我意识到这与一个EXE有关,有没有办法通知一个WAV文件已被执行?监视文件正在使用中
不,您不能在打开不可执行文件(如mp3,wav,txt等)时收到事件。
但如果文件被打开写现在居然可以检查...
static void Main(string[] args)
{
using (BackgroundWorker bw = new BackgroundWorker())
{
bw.DoWork += Bw_DoWork;
bw.RunWorkerAsync();
}
Console.WriteLine("Press Q to exit");
while (Console.ReadKey(true).Key!=ConsoleKey.Q){}
}
private static bool[] opened;
private static void Bw_DoWork(object sender, DoWorkEventArgs e)
{
var files = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.mp3");
opened = new bool[files.Length];
while (true)
for (int i = 0; i < files.Length; i++)
try
{
using (var fs = File.Open(files[i], FileMode.Open, FileAccess.Read, FileShare.None))
opened[i] = false;
}
catch{ opened[i] = true; }
}
附:我知道这很难看:D
嘿它可能很丑,但它可能是解决方案的一部分 – Eminem
无论何时执行媒体播放器,您都可以追踪。因为文档不能写入.docx文件。媒体播放器将执行'.wav'格式。我认为这可以满足您的要求。如果没有,请在这里留言并缩小您的问题。 –