vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: HTML/Internet/Netzwerk · Netzwerk   |   VB-Versionen: VB4, VB5, VB608.07.01
Aufruf von Netzlaufwerk aus verhindern

Ein kleiner Trick und Ihre Anwendung lässt sich nicht mehr von einem Netzlaufwerk aus starten.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  14.564 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8 Beispielprojekt auf CD 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Sicherlich kenn Sie das auch: Sie haben eine netzwerkfähige Anwendung erstellt, z.B. eine Adress-, Vereins oder Lagerverwaltung. Nun möchten Sie natürlich, daß der Anwender eine entsprechende Netzlizenz erwerben muss, um auf die gemeinsamen Datenbanken aus einem lokalen Netzwerk zugreifen zu können.

    Vorausetzung ist allerdings, daß in der Einzelplatzversion das Verzeichnis, in welchem die Datenbanken verwaltet werden, fest eingestellt ist. In der Netzwerkversion hingegen, kann der Anwender den Datenpfad frei einstellen.

    Nehmen wir an, der Anwender hat nur eine Einzelplatz-Lizenz erworben. Nun könnte er ja auf die Idee kommen, die Anwendung zunächst auf jeden Arbeitsplatz zu installieren, so daß auf den jeweiligen Arbeitsplätzen alle benötigten Systemdateien installiert und vorhanden sind. Starten tut der Anwender Ihre Anwendung aber über ein Netzlaufwerk!

    Dann haben Sie ein Problem: Da der Programmpfad (App.Path) nicht auf den jeweiligen Arbeitsplatz verweist, sondern immer auf das Verzeichnis, aus welchem der Programmaufruf erfolgte, ist somit der gemeinsame Zugriff auf die Datenbanken gewährt - und eben das wollten Sie doch verhindern!

    Ein kleiner Trick schafft hier Abhilfe: Beim Programmstart überprüfen Sie einfach, ob es sich bei dem Pfad, aus welchem die Anwendung gestartet wurde, um ein Netzlaufwerk handelt. Ist dies der Fall, zeigen Sie einen entsprechenden Hinweis mit der Aufforderung zum Erwerb der Netzwerk-Version.

    Und so geht's:

    Option Explicit
     
    ' zunbächst die benötigte API-Deklaration
    Private Declare Function GetDriveType Lib "kernel32" _
      Alias "GetDriveTypeA" ( _
      ByVal nDrive As String) As Long
     
    ' Prüfen, ob die Anwendung von einem Netzlaufwerk
    ' aufgerufen wurde
    Public Sub Main()
      Dim DriveType As Long
      Dim NoStart As Boolean
     
      ' Beginnt AppPath mit "\\", so wurde die 
      ' Anwendung direkt auf einem anderen Rechner gestartet
      NoStart = (Left$(App.Path, 2) = "\\")
      If Not NoStart Then
        ' Laufwerks-Typ abfragen
        ' 4 = RemoteDrive (Netzlaufwerk)
        NoStart = (GetDriveType(left$(App.Path, 1) + ":\") = 4)
      End If
     
      If NoStart Then
        MsgBox "Die Anwendung muss lokal gestartet werden!" & _
          vbCrLf & _
          "Um die Anwendung in einem Netzwerk auszuführen, " & _
          "müssen Sie eine Netzwerk-Lizenz erwerben!"
        End
      End If
    End Sub

    Dieser Tipp wurde bereits 14.564 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Neue Diskussion eröffnen

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
    (einschl. Beispielprojekt!)

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.

    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel