Hallo zusammen,
ich verzweifle fast an folgendem Problem und bin mal gespannt, ob Ihr eine Lösung wißt:
- Wir haben ein kleines Homenetzwerk mit NAS-Festplatte zuhause, daran angeschlossen u.a. die Rechner meiner Kiner, alle WinXP.
- Auf den Rechnern der Kinder wird versteckt im Autostart ein Programm gestartet, das auf dem NAS nachsieht, wie lange der Kleine schon gesurft hat, ob er überhaupt darf usw. Je nach Ergebnis wird Sohnemann nach Ablauf seiner erlaubten Zeit von Windows abgemeldet, auch falls es zu früh am Tag oder zu spät ist.
-All das ist in VB6 geschrieben und läuft schon seit einiger Zeit gut mit nur einem einzigen Problem:
Wenn der Rechner hochfährt und das Prog gestartet wird, dann wird mit VB6 der nächste freie Laufwerkbuchstabe ermittelt und das NAS damit verbunden, die Daten gelesen und das LW wieder getrennt. Zum Verbinden ist Username und Paßwort (der Eltern) im Prog fest hinterlegt, denn die Kiddies dürfen das Laufwerk ja nicht selber verbinden können. Da deren Rechner nicht die schnellsten sind, kommt es hin und wieder vor, daß die Netzwerkverbindung (WLAN) beim Start des Prog oder aus anderen Gründen noch nicht steht, das NAS nicht gefunden wird und das Programm die Kinder daraufhin grundlos abmeldet, was den Papa als Urheber des „Virus“ nicht gerade beliebter macht.
Ich habe deshalb das Programm etwas umgeschrieben und wollte in regelmäßigen Abständen direkt über den Netzwerkpfad (\Server\Verzeichnis) nach den benötigten Dateien suchen. Dabei stellt sich mir das Problem, daß das Prog unter dem Usernamen der Kinder keinen Zugriff auf auf den Netzwerkpfad hat. Wenn ich das Prog mit „Runas“ unter meinem oder dem Admin-Konto starten lasse, dann habe ich Zugriff, weiß aber dann nicht mehr, welches Kind die Anfrage gestellt hat. Ich müßte also mit VB6 herausfinden, welche Benutzer gerade am Rechner angemeldet sind, obwohl das Prog selbst unter anderem Namen läuft. D.h. die API „GetUserName“ funktioniert hier nicht. Oder andere Möglichkeit: Ich müßte das Prog unter dem Nutzernamen der Kinder starten lassen, aber dann bräuchte ich einen DIR-Befehl, bei dem ich den Benutzernamen und Paßwort frei bestimmen kann.
Das größte Problem dabei ist, daß das Programm nicht mit der Hilfe des Users rechnen kann, sondern eher mit seiner Sabotage , also keine sichtbaren Batchfenster o.a. aufgerufen werden dürfen.
Hoffe, ich habe mich einigermaßen klar ausgedrückt. Ich erwarte auch nicht gleich Codebeispiele, sondern wäre schon froh, wenn mir jemand auf ein Konzept hinweisen könnte. Vielleicht geht ja alles viele einfacher, als ich denke.