Soweit ich weiß, ist das nicht wirklich möglich.
Der
Befehl
qwinsta
Sie für den Computer eine Liste der Sitzungen geben: Je nachdem, wie viel wissen Sie über die Umgebung der Benutzer kann die folgenden eine Abhilfe jedoch sein. Innerhalb dieser Sitzungen wird einer der aktive sein, wenn also dieses Programm in einer interaktiven Sitzung verwendet wird, enthält es nur den "angemeldeten Benutzer", wie Sie es beschrieben haben (es ist viel komplizierter, es könnten viele Benutzer angemeldet sein) aber nur einer kann aktiv sein und ich hoffe nur, dass Sie genug über das Nutzungsszenario Ihres Programms wissen, um davon Gebrauch zu machen. Sie könnten die Ausgabe analysieren und mit diesem Benutzernamen arbeiten.
Natürlich ist dies ein schmutziger Hack und es wird davon ausgegangen, dass während der Laufzeit Ihrer Aufgabe keine Änderung der Benutzer möglich ist.
Auch wenn ich die qwinsta.exe gewählt habe, weil es ein sehr grundlegender Ansatz ist, der keine API-Aufrufe oder etwas benötigt, bin ich immer noch nicht sicher, ob der CMD genug Parsing-Fähigkeiten hat, um die notwendigen Informationen für Sie zu bekommen.
Können Sie klären, was mit "aktuell angemeldeter Benutzer" gemeint ist? Beschränken Sie dies auf die Konsole? Zählen Remotedesktopverbindungen? Wenn dies ein Server-Betriebssystem ist, wie würden Sie zwischen RDP-Cilents wählen? – mojo
nicht sicher, weil kann im Moment nicht versuchen, aber 'tasklist/v | finden" explorer.exe "' Hilfe? – Stephan
Mögliches Duplikat von * [Wie finden Sie den aktuellen Benutzer in einer Windows-Umgebung?] (Http://stackoverflow.com/questions/1607271/how-do-you-find-the-current-user-in-a- Windows-Umgebung) *. –