using System.IO;
using System.Runtime.InteropServices;
 
[DllImport("kernel32.dll")]
public static extern IntPtr _lopen(string lpPathName, int iReadWrite);
 
[DllImport("kernel32.dll")]
public static extern bool CloseHandle(IntPtr hObject);
 
public const int OF_READWRITE = 2;
public const int OF_SHARE_DENY_NONE = 0x40;
public readonly IntPtr HFILE_ERROR = new IntPtr(-1);
private void button1_Click(object sender, EventArgs e)
{
    string vFileName = @"c:\temp\temp.bmp";
    if (!File.Exists(vFileName))
    {
        MessageBox.Show("文件都不存在!");
        return;
    }
    IntPtr vHandle = _lopen(vFileName, OF_READWRITE | OF_SHARE_DENY_NONE);
    if (vHandle == HFILE_ERROR)
    {
        MessageBox.Show("文件被占用!");
        return;
    }
    CloseHandle(vHandle);     //判断之后一定要关闭!!!
    MessageBox.Show("没有被占用!");
}

最新文章

  1. js获取cookie
  2. Excel中添加下拉框
  3. mysql忘记root密码
  4. 51nod 1413 权势二进制 背包dp
  5. iOS sharedSDK详解
  6. .net 利用 GZipStream 压缩和解压缩
  7. Altium Designer 里面怎么画等长线
  8. 同时安装VS2010,VS2012
  9. MSSQL2008数据库备份还原和数据恢复
  10. MySQL数据库MyISAM和InnoDB存储引擎的比较【转载】
  11. [Redis] - redis实战1
  12. Eclipse添加JDK,JRE切换
  13. PAT A1098 Insertion or Heap Sort (25 分)——堆排序和插入排序,未完待续。。
  14. stm32型号解读
  15. 牛客网多校第3场Esort string (kmp)
  16. Linux 系统目录
  17. git 自动转换行符的坑爹案例
  18. Codeforces 938 D. Buy a Ticket (dijkstra 求多元最短路)
  19. mysql主从复制(简单直观)
  20. VS2013过期激活

热门文章

  1. Centos7下Redis设置开机自启动服务
  2. go语言之数据类型和格式化输出
  3. Linux系统:常用Linux系统管理命令总结
  4. ASP.NET Core 2.2 WebApi 系列【二】使用EF CodeFirst创建数据库
  5. console的各种输出格式
  6. JS 注释
  7. Django 注意知识点(一)
  8. [日常] windows下使用vscode配合xebug调试php脚本
  9. linux系统修改用户密码报错
  10. LRU hashMap(拉链) + 双向链表 java实现