2009-06-17 116 views
0

我正在嘗試修復某人在我的公司創建的3到4年前.hta。現在,如果您打開某個其他人已經打開的文件,您將失去已完成的任何工作,並且必須手動重新執行。所以我只是想檢查一下,看看這個文件是否已經打開,然後鎖定編輯,或者只是彈出一個說:「嘿,如果你試圖拯救你會失望」。有沒有簡單的方法來檢查該文件是否已經在JavaScript中打開?檢測文件是否已在javascript/hta中打開

打開該文件的代碼是...

function FileOpen(strSetup) 
{ 
    if(! strSetup) 
    { 
     strSetup = ShowDialog("choose-setup", {"DialogTitle" : "Load Setup"}); 
    } 

    if(strSetup) 
    { 
     if(FileSystem.FileExists(App.Paths.Configs + "/" + strSetup + ".setup")) 
     { 
      var fFile = FileSystem.GetFile(App.Paths.Configs + "/" + strSetup + ".setup"); 
      App.Config = LoadXMLDocument(fFile.Path); 
      // SaveCurrentConfig(); 
      RefreshView("setup-summary"); 
     } 
     else 
     { 
      alert("Could not find setup '" + strSetup + "'"); 
     } 

    } 
} 

和LoadXMLDocument代碼...

//----------------------------------------------------------------------------- 
// FUNCTION : LoadXMLDocument - Loads an XML document 
// params : strPath - the path/file of the document to load 
//   : bCritical- if set true, we die if the document doesn't load 
// returns : an XML dom object on success, false otherwise 
//----------------------------------------------------------------------------- 

function LoadXMLDocument(strPath, bCritical) 
{ 
    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); 
    xmlDoc.setProperty("SelectionLanguage", "XPath"); 
    if(! FileSystem.FileExists(strPath)) 
    { 
     Error("'" + strPath + "' is not a valid file path"); 
     if(bCritical) Abort(); 
     return(false); 
    } 
    var fFile = FileSystem.GetFile(strPath); 
    xmlDoc.load(fFile.Path); 
    if(xmlDoc.documentElement == null) 
    { 
     Error("Could not load XML document '" + fFile.Path + "'"); 
     if(bCritical) Abort(); 
     return(false); 
    } 
    return(xmlDoc); 
} 

回答

0

我看到這是超級舊的帖子,但爲什麼不使用VBS?如果是HTA,他們支持一起跑步:

objFSO = CreateObject("Scripting.FileSystemObject") 

strFilePath = "C:\test.txt" 
If objFSO.FileExist(strFilePath) Then 
    MsgBox "I win" 
End If 
1

這就是revision control是怎麼一回事。這與沒有涉及的同一問題的其他形式沒有區別。 hta文件。