AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Feststellen, ob Benutzer angemeldet ist
Thema durchsuchen
Ansicht
Themen-Optionen

Feststellen, ob Benutzer angemeldet ist

Ein Thema von rainerkunze124 · begonnen am 29. Dez 2004 · letzter Beitrag vom 26. Nov 2006
Antwort Antwort
Seite 1 von 3  1 23      
rainerkunze124

Registriert seit: 1. Okt 2004
Ort: SH
56 Beiträge
 
#1

Feststellen, ob Benutzer angemeldet ist

  Alt 29. Dez 2004, 14:06
Ich programmiere gerade einen Dienst für Windows 2000, der bestimmte Sachen nur ausführen soll, wenn ein Benutzer angemeldet ist.
Wie kann ich feststellen, ob ein Benutzer angemeldet ist? (Der Benutzername ist mir nicht wichtig)
Delphi 7 Enterprise - Jedi JCL & JVCL - Indy 10
  Mit Zitat antworten Zitat
rainerkunze124

Registriert seit: 1. Okt 2004
Ort: SH
56 Beiträge
 
#2

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 2. Jan 2005, 20:20
Hat denn keiner eine Idee? Es muß doch einen Befehl bzw. eine Prozedur dafür geben
Delphi 7 Enterprise - Jedi JCL & JVCL - Indy 10
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 2. Jan 2005, 20:31
Zitat von rainerkunze124:
Wie kann ich feststellen, ob ein Benutzer angemeldet ist? (Der Benutzername ist mir nicht wichtig)
Wie möchtest du es denn dann abfragen, wenn nicht per Benutzername?

Dies würde doch leicht gehen mit dem Benutzernamen so.
  Mit Zitat antworten Zitat
rainerkunze124

Registriert seit: 1. Okt 2004
Ort: SH
56 Beiträge
 
#4

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 2. Jan 2005, 22:00
und wie sieht der benutzername aus, wenn keiner angemeldet ist? '', also nicht, funktioniert nicht, das habe ich schon probiert.
Delphi 7 Enterprise - Jedi JCL & JVCL - Indy 10
  Mit Zitat antworten Zitat
Benutzerbild von Airblader
Airblader

Registriert seit: 29. Okt 2004
Ort: Geislingen an der Steige
742 Beiträge
 
#5

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 2. Jan 2005, 22:05
Lass es dir doch einfach irgendwie ausgeben, dann siehst du es doch
Ingo Bürk
Es nimmt der Augenblick, was Jahre geben.

Johann Wolfgang von Goethe
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 2. Jan 2005, 22:14
Guck mal bei Assarbad nach LoogedOn.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 2. Jan 2005, 22:15
Moin Rainer,

schau Dir doch mal die API MSDN-Library durchsuchenEnumWindowStations an.
Wenn ich mich nicht sehr irre, dürfte kein interaktiver Benutzer angemeldet sein, wenn keine WinSta0 dabei ist.
Oder anders formuliert: Existiert WinSta0 ist ein interaktiver Benutzer angemeldet.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
rainerkunze124

Registriert seit: 1. Okt 2004
Ort: SH
56 Beiträge
 
#8

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 19. Jan 2005, 07:14
Ich benutze im Moment folgende Funktion:

Delphi-Quellcode:
function GetUsername: String;
var
  Buffer: array[0..255] of Char;
  Size: DWord;
begin
  Size := SizeOf(Buffer);
  if not Windows.GetUserName(Buffer, Size) then
    RaiseLastOSError; //RaiseLastWin32Error; {Bis D5};
  SetString(Result, Buffer, Size - 1);
end;
Welchen Wert hat der String, wenn kein User angemeldet ist?
Delphi 7 Enterprise - Jedi JCL & JVCL - Indy 10
  Mit Zitat antworten Zitat
Benutzerbild von Motzi
Motzi

Registriert seit: 6. Aug 2002
Ort: Wien
598 Beiträge
 
Delphi XE2 Professional
 
#9

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 19. Jan 2005, 10:32
GetUserName holt sich den Usernamen aus dem Token des aktuellen Prozesses - sprich du bekommst den Benutzernamen des Kontos unter dem dein Programm läuft..!

Ich würde auf LsaEnumerateLogonSessions + LsaGetLogonSessionData zurückgreifen - funktioniert entgegen PSDK auch schon unter Win2k...
Manuel Pöter
  Mit Zitat antworten Zitat
rainerkunze124

Registriert seit: 1. Okt 2004
Ort: SH
56 Beiträge
 
#10

Re: Feststellen, ob Benutzer angemeldet ist

  Alt 19. Jan 2005, 18:44
Mein Programm ist ein Service: Er läuft also immer (wenn Windows gebootet hat).

Und jetzt soll das Programm einfach nur erfahren können, ob ein Benutzer angemeldet ist oder nicht.
Deswegen frage ich nach dem Wert, den GetUserName hat, wenn keiner angemeldet ist.
Delphi 7 Enterprise - Jedi JCL & JVCL - Indy 10
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:18 Uhr.
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