2009-06-17 20 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ファイル。

関連する問題