Frage

Ich versuche, ein .hta, dass jemand in meinem Unternehmen zu beheben erstellt 3 oder 4 Jahre. Gerade jetzt, wenn Sie eine Datei öffnen, dass jemand anderes bereits geöffnet hat, werden Sie verlieren jede Arbeit, die Sie auf es getan haben und muss es manuell wieder vorbei. So überprüfe Ich dachte nur, um zu sehen, ob die Datei bereits geöffnet ist und dann entweder Verriegelungs Bearbeitung, oder einfach nur ein Pop-up machen zu sagen: „Hey, wenn Sie versuchen, Ihnen zu speichern Gonna enttäuscht sein“. Gibt es einen einfachen Weg, um zu überprüfen, ob die Datei in Javascript bereits geöffnet ist?

Der Code zum Öffnen der Datei ist ...

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 + "'" );
        }

    }
}

und der Code für LoadXMLDocument ist ...

//-----------------------------------------------------------------------------
// 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 );
}
War es hilfreich?

Lösung

Ich sehe das Super alte Post ist aber warum nicht VBS verwenden? Wenn es ein HTA ist, sind sie mit zusammen laufen unterstützt:

objFSO = CreateObject("Scripting.FileSystemObject")

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

Andere Tipps

Das ist, was Revisionskontrolle geht. Es ist nicht anders als andere Formen des gleichen Themas, das beinhaltet nicht. HTA-Dateien.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top