如果文件存储是其它进程干的事情,不是自己写的,采用独占方式打开存储文件, HANDLE hFile = CreateFile(szDesFile,GENERIC_READ,NULL,NULL,OPEN_EXISTING,NULL,NULL)
if(hFile==INVALID_HANDLE_VALUE) {GetLastError()...} 失败则表示正被其它进程访问。
你说的是判断windows中的explorer是否打开了一个文件夹吗?如果是的话,那需要用到windows shell 编程,枚举所有的explorer窗口,判断是否打开了指定的文件夹,具体要参考vc的一些资料,访问shell的一些方法这里给出一个脚本的实现,用脚本方便一些
把下面的代码复制到文本中,改后缀为js运行,运行时最好打开几个文件夹,效果更明显
--------------------
var objShell = new ActiveXObject("Shell.Application")
var objShellWindows
objShellWindows = objShell.Windows()
if (objShellWindows != null){
for(var i=0i<objShellWindows.Counti++)
WScript.Echo(objShellWindows.Item(i).LocationURL)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)