vb.net - VB打开文件然后禁止访问

标签 vb.net file-access

我的程序将来必须同时在不同的计算机上运行。如何在应用程序加载时打开该文件,然后拒绝访问除应用程序当前实例之外的其他任何内容? (先到先得用于访问文件)。

或者一种以特定方式标记文件的方法,我可以在表单加载上运行检查以查看它是否被标记,并通过禁用任何触发与文件交互的按钮来伪锁定它。

这只是为了防止多个人同时处理同一个文件。

基本上任何允许这样做的方法都可以。我只需要一个起点,然后我可以继续进行调整和优化。

最佳答案

您可以使用 File.Open 打开该文件并传入FileShare.None作为您的共享类型。这将限制其他人打开该文件。

File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)

编辑:
只是从您的一些其他问题猜测您稍后会在应用程序中对此文件调用 XElement.Load 。 Load 的重载之一采用 StreamFile.Open 方法返回一个FileStream。您可以在应用程序打开时立即打开文件,然后当您准备好读取 XML 文件时,只需将 FileStream 传递到 XElement.Load 即可。

关于vb.net - VB打开文件然后禁止访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159366/

相关文章:

wpf - XAML/WPF 中的 UserControls 有什么问题?

excel - VB.Net:在 Excel 单元格中插入数据验证

windows-services - 卸载后无法删除服务可执行文件

powershell - 使用 PowerShell 为 IIS_IUSRS 分配文件访问权限

java - 文件仅当放置在将从 jar 中删除的位置时才可访问

c# - 如何检查文件是否正在使用?

python-3.x - 使用 VB.Net 通过 TCP 发送文件并使用 Python3.6 中的 Socket 接收时出现文件编码错误

.net - 在VB asp.net 2.0中对数据表的行进行分组

c# - 如今“形状 - 追加”查询等效性

c# - FileStream.close() 不会为其他进程释放文件