我使用以下代码打开驻留在计算机上其他位置的文件:
System.Diagnostics.Process.Start(PathToOpen)
PathToOpen
是我希望打开的文件的完整地址。这似乎适用于安装了可以打开文件的应用程序的任何文件类型。
虽然这可行,但如果文件在网络驱动器上,我希望我的VB.Net代码检查文件当前是否正在使用,如果是,则显示消息。目前发生的情况是,如果第二个用户试图打开该文件,它将打开只读(例如word文件),这是在我的应用程序之外处理的。我想在打开文件之前拦截并停止那里的进程。
这有可能吗?
答案 0 :(得分:0)
您基本上是在询问是否可以监控甚至不属于您的系统上的文件?
Word确实知道已经在使用的文件,因为它会在您打开的文件旁边创建一个隐藏文件。如果已有隐藏文件,则表示该文件已被使用。
其他应用程序使用不同的方式来了解他们可以使用的文件是否已在其他地方打开。
为了做你想做的事,你需要知道所有应用程序如何处理这个问题......
一种可能的解决方案是在用户想要打开的文件旁边创建一个小的隐藏文件(就像MS Word一样)。唯一的问题是,当用户关闭文件时你需要销毁文件,你无法知道......