Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Who's logged on? (https://www.delphipraxis.net/94554-whos-logged.html)

turboPASCAL 25. Jun 2007 19:26

Re: Who's logged on?
 
Solch ein Template hat Luckie in seinen Tut's. (ausserem ist das so wenig das man ihn schnel getippt hat ;) )

Luckie 25. Jun 2007 19:29

Re: Who's logged on?
 
Aktuelle Version: 1.0.0.38

Das mit der mitlafenden Zeit war nichts. :roll: Ich habe es wieder rausgenommen.

@MackHack: Gibt es doch schon auf meiner Homepage: http://www.michael-puff.de/dirindex..../Delphi/Demos/ -> Template.zip
Aber das gehört nicht hier her.

EDatabaseError 25. Jun 2007 19:53

Re: Who's logged on?
 
Ich habe was gefunden was bezüglich des Dialogproblems helfen könnte.

In dem Remotedesktopverbindungs Programm von MS die Computer Combobox aufmachen und auf <Nach weiteren Computern suchen...> klicken. Das dürfte der gesuchte Dialog sein ... oder.


Mfg

Luckie 25. Jun 2007 20:11

Re: Who's logged on?
 
Welchen Dialog meinst du? Ich will keinen Computer suchen, sondern nur eine Domain öffnen.

EDatabaseError 25. Jun 2007 20:26

Re: Who's logged on?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also in diesem Dialog wird meine Workgroup und die PCs angezeigt

Luckie 25. Jun 2007 20:34

Re: Who's logged on?
 
Ich brauche aber nur die Domain: http://www.delphipraxis.net/internal...=741773#741773

Mackhack 25. Jun 2007 20:42

Re: Who's logged on?
 
Zitat:

Zitat von Luckie
@MackHack: Gibt es doch schon auf meiner Homepage: http://www.michael-puff.de/dirindex..../Delphi/Demos/ -> Template.zip
Aber das gehört nicht hier her.

Du hast doch darueber selbst hier geschrieben warum also nicht? Regelverstoss? Und ich habe auf deiner HP geschaut aber unter Template hab ich es mir einfach nicht vorgestellt zu finden. Sorry also an dieser Stelle!

uwewo 26. Jun 2007 07:05

Re: Who's logged on?
 
Hi Luckie,

habe nun die neue Version getestet aber leider tritt noch immer eine Exception auf.

Habe mir den Source nocheinmal angeschaut und mal Zeilenweise durchlauen lassen, hier ensteht der Fehler:

Datei: LoggedOn
Zeile: 294

Delphi-Quellcode:
  s := Format(rsFinishMachine, [UserList.Count]);
  SendDlgItemMessage(hApp, IDC_SB, SB_SETTEXT, 0, Integer(PChar(s)));

  FreeMemory(p);
  Result := 0;
end;
Das seltsame ist, s := Format(rsFinishMachine, [UserList.Count]); wird noch abgearbeitet danach springt er allerdings direkt auf end;

Deshalb auch die Exception, kein SendDlgItemMessage, FreeMemory, Result.

uwewo 27. Jun 2007 07:02

Re: Who's logged on?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Luckie,

noch ein kleiner Nachtrag. Die Version funktioniert, wenn ich aus unserem Netzwerk eine Workstation auswähle. Bei der Auswahl eines Servers habe ich allerdings besagtes Phänomen, wo alle Zeilen nach
Delphi-Quellcode:
s := Format(rsFinishMachine, [UserList.Count]);
nicht mehr abgearbeitet werden.(Nur bei Servern)

Das Problem beim scannen der Domain könnte darin liegen, dass unsere Server über VPN in ganz Europa verbunden sind.

Vielleicht hilft dir das ja weiter.

Zitat:

Zitat von Luckie
[
Aber eine Frage habe ich noch: Was ist das für ein Benutzer mit dem Rechnernamen und dem $-Zeichen am Ende?

Diesen User habe ich auch, siehe ScreenShot. Ich kann allerdings nur ein Vermutung äussern, in unserem Netzwerk ist für jeden User sowohl ein Lokales als auch ein Roaming Profile erstellt.

Siehe dazu ScreenShot2.jpg

Luckie 27. Jun 2007 09:03

Re: Who's logged on?
 
Mit welcher Schatlfläche wählst du den Server aus? Um einen einzelenen Rechner zu scannen musst du "Scan machine" nehmen.

Nein der Benutzer mit dem Rechnernamen und dem $ ist der Rechner selber. Ab Windows2000 werden auch Rechner als Benutzer angesehen.

uwewo 27. Jun 2007 11:24

Re: Who's logged on?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Luckie
Mit welcher Schatlfläche wählst du den Server aus? Um einen einzelenen Rechner zu scannen musst du "Scan machine" nehmen.

Genau das mache ich damit wähle ich einen Server, oder eine Workstation aus.
Bei Servern erhalte ich dann diesen Fehler.

Luckie 27. Jun 2007 11:36

Re: Who's logged on?
 
Ich teste das hier gerade im Schulnetzwerk. Aber leider kann ich das hier nicht debuggen, weil kein Delphi installiert ist.

Luckie 27. Jun 2007 12:53

Re: Who's logged on?
 
Aktuelle Version: 1.0.0.43

- Neu: Fenster lässt sich in der Größe ändern.

turboPASCAL 27. Jun 2007 15:43

Re: Who's logged on?
 
Zitat:

Zitat von Luckie
- Neu: Fenster lässt sich in der Größe ändern.

Denke daran das Fenster bei dem Scalieren als letztes neu zu zeichnen und nicht nur den
Aboutbutton, sonst hat man schöne Artifakte. ;)

Sample: :mrgreen:
Delphi-Quellcode:
function dlgfunc(hDlg: HWND; uMsg: UINT; wParam:...
//...
    WM_SIZE:
      begin
        //...
        //...
        InvalidateRect(hDlg, nil, FALSE);
        RedrawWindow(hDlg, nil, 0, RDW_UPDATENOW); // <--<<< wir wollen ja ned so ein geflacker
      end;
//...
// Edit:
Das "PaintFlag" von MoveWindow solltest du auf False lassen da sonst gleich neu gezeichnet wied und danach der Code vortgesetzt.

// Edit II :
- dolle Dibbfehler erased

Luckie 27. Jun 2007 17:54

Re: Who's logged on?
 
Zitat:

Zitat von turboPASCAL
Zitat:

Zitat von Luckie
- Neu: Fenster lässt sich in der Größe ändern.

Denke daran das Fenster bei dem Scalieren als letztes neu zu zeichnen und nicht nur den
Aboutbutton, sonst hat man schöne Artifakte. ;)

Danke fü den Tipp. ;)

Ein InvalidateRect ist aber nur bei dem About-Button nötig. Ich habe es ausprobiert.

Aktuelle Version: 1.0.0.44

uwewo 28. Jun 2007 08:06

Re: Who's logged on?
 
Hallo,

habe nun wieder eine neue Info für Dich, in Zeile 293
Delphi-Quellcode:
 s := Format(rsFinishMachine, [UserList.Count]);
ist die UserList = nil (nur bei Servern).

Vielleicht weil diese lediglich eingeschaltet werden, und kein User eingeloggt ist.

In Zeile 166 beendest Du die
Delphi-Quellcode:
procedure FillTreeview(Machine: string; UserList: TLoggedOnUserCollection);
mit einem Exit; wenn
Delphi-Quellcode:
  if (UserList = nil) or (UserList.Count = 0) then Exit;
danach springt er in die Zeile 293 und die UserList = nil;

Luckie 28. Jun 2007 10:45

Re: Who's logged on?
 
Oh, danke. Ich hatte nämlich ohne Erfolg versucht das zu reproduzieren. Jetzt denke ich, dass ich den Fehler beheben kann.

Aktuelle Version: 1.0.0.45

- Bug von uwewo gefixt (hoffentlich).

Luckie 28. Jun 2007 23:19

Re: Who's logged on?
 
Aktuelle Version: 1.0.0.46

- Neu: Mindestgröße des Fensters festgelegt.
- Kleinere Bugs behoben.

Ich denke, das Programm ist soweit fertig. Ichhabe es jetzt auch auf meiner Homepage veröffentlicht: http://www.michael-puff.de/Programme/LoggedOn Vielen dank noch mal, an die fleißigen Tester.

uwewo 29. Jun 2007 08:32

Re: Who's logged on?
 
Hi Luckie,

LoggedOn funktioniert jetzt soweit, habe allerdings noch ein paar Anregungen.
Wenn Kein User eingelogt(Server) dann wäre es doch trotzdem nett diesen anzuzeigen, zumindest den Rechner selbst.

Wenn ich Deinen Code richtig verstehe, ist die Variable "TotalEntries" die Anzahl der Rechner die an der Domain angemeldet sind. Richtig?

Diese Anzahl könnte man auch anzeigen, und nach erfolgreichem Scan einen Zähler-1 mitlaufen lassen.
Somit hätte man so eine Art Fortschrittsanzeige. In unserer Domain befinden sich derzeit 1232 Rechner(TotalEntries) der TreeView wird aber leider erst am Schluss angezeigt, vielleicht wäre es sinnvoll nach jedem Scan den TreeView zu aktualisieren.

Wie gesagt nur Anregungen, Du hast sicher genug anderes zu tun.

Ansonsten, Respekt gute Arbeit wie immer :-)

Luckie 29. Jun 2007 08:51

Re: Who's logged on?
 
Zitat:

Wenn Kein User eingelogt(Server) dann wäre es doch trotzdem nett diesen anzuzeigen, zumindest den Rechner selbst.
Ist das denn nicht der Fall?

Zitat:

Diese Anzahl könnte man auch anzeigen, und nach erfolgreichem Scan einen Zähler-1 mitlaufen lassen.
Das geht nicht, weil die Funktion erst zurückkehrt, wenn sie alle Rechner gescannt hat. Das ersieht man aber auch aus dem Quellcode.

uwewo 29. Jun 2007 12:45

Re: Who's logged on?
 
Zitat:

Ist das denn nicht der Fall?
Leider keine Anzeige, wähle ich einen Server aus, bleibt das TreeView leer :-(

Zitat:

Das geht nicht, weil die Funktion erst zurückkehrt, wenn sie alle Rechner gescannt hat. Das ersieht man aber auch aus dem Quellcode.
Ja sicher, aber bei 1200 Rechnern sieht man wahrscheinlich erst die Einträge nach 1 Std oder so, man weiss also nicht ob das Programm hängt oder noch arbeitet. Deshalb der Zähler oder zumindest eine veränderte Anzeige, denn beim Scannen einer Domain sieht man in der Taskleiste nur "Scanne DomainName"

Luckie 29. Jun 2007 12:51

Re: Who's logged on?
 
Dazu ist doch die Animation da. ;)

uwewo 29. Jun 2007 14:40

Re: Who's logged on?
 
Liste der Anhänge anzeigen (Anzahl: 3)
OK, überredet :-)

Hier noch 3 ScreenShots die Du doch sehen wolltest, leider kann ich nicht sagen wie lange es gedauert hat, da ich natürlich nicht daneben gesessen habe.

Bei ScreenShot3.jpg sieht man auch die Server, wenn man "Scan Domain" gewählt hat.
Bei "Scan Machine" und Auswahl eines Servers bleibt das TreeView leer!

Ok, wünsche Dir ein schönes Wochenende.

Luckie 29. Jun 2007 17:00

Re: Who's logged on?
 
Danke für deine Mühe. Aber ich kann das hier leider nicht nachvollziehen. :(

Aber sag mal, wie lange hat er für fast 1200 Rechner gebraucht? :shock:

Du kannst auch mal das LoggedOn2 von Olli ausprobieren: http://assarbad.net/stuff/loggedon2.zip

Luckie 4. Jul 2007 16:13

Re: Who's logged on?
 
Aktuelle Version: 1.0.0.51

- Verbesserte Methode zum Ermitteln der eingeloggten Benutzer. (Entnommen Ollis LoggedOn2.)

uwewo 5. Jul 2007 09:35

Re: Who's logged on?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Luckie,

OK habe Version 1.0.0.51 nun getestet, gleich heute Morgen weil um diese Zeit noch nicht ganz soviele angemldet sind. Für 729 PC's hat er ca. 57 Min gebraucht.

Bei Scan Domain sowie Scan Machine werden jetzt alle Benutzer auch die am Server richtig erkannt.

Also nun ist es perfekt, :thumb: habe aber noch eine Frage oder Anregung. Da sich eine Domain ja auf mehrere Server verteilt, wäre es toll wenn man einen Server auswählen, und nur die dort angemeldeten PC's nach Benutzern abfragen könnte.

Wie gesagt nur eine Idee!

Luckie 5. Jul 2007 09:41

Re: Who's logged on?
 
Zitat:

Zitat von uwewo
Bei Scan Domain sowie Scan Machine werden jetzt alle Benutzer auch die am Server richtig erkannt.

Also nun ist es perfekt, :thumb:

Na bitte, wäre doch gelacht gewesen, wenn wir das nicht hinbekommen hätten. ;)

Aber hat das seine Richtigkeit, dass manche Benutzer mehrmals angemeldet sind? So sieht es zu mindest auf dem Screenshot aus.

Zitat:

habe aber noch eine Frage oder Anregung. Da sich eine Domain ja auf mehrere Server verteilt, wäre es toll wenn man einen Server auswählen, und nur die dort angemeldeten PC's nach Benutzern abfragen könnte.
Was für Benutzer bekommst du denn, wenn du mit "Scan machine" einen solchen Server auswählst?

PS: 57 Minuten? :shock: Aber daran kann ich nichts machen, das liegt an Windows und dem Netzwerk.

uwewo 5. Jul 2007 09:44

Re: Who's logged on?
 
Zitat:

Was für Benutzer bekommst du denn, wenn du mit "Scan machine" einen solchen Server auswählst?
Nur den Benutzer des Servers, siehe LoggedOn2.jpg.

Luckie 5. Jul 2007 09:46

Re: Who's logged on?
 
Also nur die Benutzer, die direkt am Server angemeldet sind, aber nicht die, die über die Clients dort angemeldet sind. Hm. :gruebel: Mal sehen, ob mir da noch was einfällt.

Aber das mit den mehrmals angemeldeten Benutzern hat seine Richtigkeit?

uwewo 5. Jul 2007 12:18

Re: Who's logged on?
 
Zitat:

Zitat von Luckie
Also nur die Benutzer, die direkt am Server angemeldet sind, aber nicht die, die über die Clients dort angemeldet sind. Hm. :gruebel: Mal sehen, ob mir da noch was einfällt.

Da bin ich mir eigentlich sicher :-)

Zitat:

Zitat von Luckie
Aber das mit den mehrmals angemeldeten Benutzern hat seine Richtigkeit?

Es sieht ganz so aus, als wäre das korrekt.

Luckie 5. Jul 2007 16:08

Re: Who's logged on?
 
Aktuelle Version: 1.0.0.53

- Neu: Abbrechen-Schaltfläche.
- Kosmetische Korrekturen im Quellcode.

uwewo 6. Jul 2007 07:35

Re: Who's logged on?
 
Zitat:

Zitat von Luckie
- Neu: Abbrechen-Schaltfläche.

Sicherlich nerve ich Dich schon mit meinen ganzen Verbesserungsvorschlägen.
Aber trotzdem "Abbrechen" finde ich sinnvoll, wäre es aber nicht besser die eingelesenen Benutzer die bis zur Betätigung von "Abbrechen" durchgeführt wurden auch anzuzeigen?

Könntest Du für eine grobe Zeitmessung nach dem Scan der Domain eine Uhrzeit anzeigen wann diese abgeschlossen wurde? Wie z.Bsp.:
Delphi-Quellcode:
ShowMessage('Scan der Domain beendet um: '+DateTimeToStr(Now()));

Luckie 6. Jul 2007 09:03

Re: Who's logged on?
 
Zitat:

Zitat von uwewo
Aber trotzdem "Abbrechen" finde ich sinnvoll, wäre es aber nicht besser die eingelesenen Benutzer die bis zur Betätigung von "Abbrechen" durchgeführt wurden auch anzuzeigen?

Nein, das geht eben nicht, weil die API-Funktionen erst zurückkehren, wenn sie fertig ist. Deshalb kann ich ja auch keinen Fortschritt anzeigen.

Zitat:

Könntest Du für eine grobe Zeitmessung nach dem Scan der Domain eine Uhrzeit anzeigen wann diese abgeschlossen wurde? Wie z.Bsp.:
Delphi-Quellcode:
ShowMessage('Scan der Domain beendet um: '+DateTimeToStr(Now()));

Jupp, das habe ich mir auch schon überlegt. Aber eventuell nicht die Uhrzeit, sondern die Dauer?

Sag mal, kann es sein, dass ich da gerade für dich ein Tool geschrieben habe, auf das du schon ewig gewartet hast? ;)

Eventuell kannst du dir auch mal das LoggedOn2 von Olli angucken.

uwewo 6. Jul 2007 10:40

Re: Who's logged on?
 
Zitat:

Sag mal, kann es sein, dass ich da gerade für dich ein Tool geschrieben habe, auf das du schon ewig gewartet hast? :-)
Nein, aber ich finde es trotzdem interessant, ausserdem kann man keine bessere Möglichkeit finden so ein Tool zu testen. :-)
Ich bin leider nur ein lokaler Admin hier in unserer Zweigstelle, und habe keine Zugriff auf Domain Controller etc. Unsere CIT hat Ihren Hauptsitz in Norwegen und von dort wird alles geregelt.
Zeitweise bin ich mit diesen Jungs unterwegs, wenn wir mal wieder eine neue Firma gekauft haben, und die in unser Netzwerk aufgenommen wird.

Luckie 17. Jul 2007 03:42

Re: Who's logged on?
 
Aktuelle Version: 1.1.0.3

- Neu: Der Rechner- oder Domainname kann jetzt auch optional über eine Eingabefeld angegeben werden. Das ist manchmal schneller, als die entprechenden Dialoge zu nutzen. Ich hoffe, dadurch wurde die Usability etwas verbessert.

Ich habe an den Fehlermeldungen etwas geändert. Da ich im Moment keinen Zugriff auf ein größeres Netzwerk habe, weiß ich nicht, was passiert, wenn von einem Rechner keine Benutzer ermittelt werden können.

uwewo 17. Jul 2007 06:05

Re: Who's logged on?
 
Hi Luckie,

wenn eine Domain oder ein Rechner nicht existiert bzw. nicht eingeschaltet ist, wird das scannen bei Eingabe eines Namens nicht automatisch abgebrochen.

Luckie 17. Jul 2007 09:14

Re: Who's logged on?
 
Was verstehst du unter "automatisch abbrechen"?

uwewo 17. Jul 2007 11:38

Re: Who's logged on?
 
Zitat:

Zitat von uwewo
wenn eine Domain oder ein Rechner nicht existiert bzw. nicht eingeschaltet ist, wird das scannen bei Eingabe eines Namens nicht automatisch abgebrochen.

Derzeit ist es so.
Wenn Domain bzw. Rechner nicht existiert oder abgeschaltet ist, scannt das Programm solange weiter bis Button "Cancel" gedrückt oder das Programm geschlossen wird.

Beim automatisch abbrechen, sollte das Programm feststellen das die gesuchte Domain oder der Rechner nicht existiert, und eine Meldung ausgeben.

Wenn realisierbar!

Luckie 17. Jul 2007 15:22

Re: Who's logged on?
 
Also, wenn ich einen Rechner eingebe, der nicht existiert, dann bricht das Programm bei mir irgendwann ab. Leider bisher noch ohne Fehlermeldung, da muss ich noch was machen, irgendwie. Scanne ich eine Domain, die es nicht gibt, bricht das Programm mit einer Fehlermeldung bei mir ab:
Zitat:

Es ist folgender Fehler aufgetreten:

Fehlercode: 6118

Fehlertext: Die Liste der Server in dieser Arbeitsgruppe ist zurzeit nicht verfügbar.

Luckie 17. Jul 2007 17:24

Re: Who's logged on?
 
Aktuelle Version: 1.1.0.6

- Neu: Verbesserte Fehlerbehandlung.
- Neu: Gescannte Rechner oder Domains werden in einer Combobox aufgenommen (siehe Screemshot erster Beitrag).


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz