Autor Beitrag
webbi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142

Win XP Pro SP2, Debian GNU/Linux 2.6
D5 Pro, D7 Pro, BDS2006, Kylix3, MS-VS 2005
BeitragVerfasst: Do 27.04.06 08:31 
Hallo!

Ich möchte einen kleinen Dienst coden, der bei jeder Anmeldung reagiert.
Das ist eine RDP-Session die immer getrennt und wieder verbunden wird...

Aber wie frage ich ab, ob die Session grade aktiv ist oder nicht?

mfG

Webbi

_________________
Programmieren ist der Wettkampf zwischen Programmierer
die immer noch einfachere Programme schreiben und Anwender die immer noch dümmer werden...
nullplan001
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 212

Win 2000 Professional, Debian Linux 4.0 (Etch,Stable)
Pascal (FreePascal 2.0.2, TurboPascal 7.0), C(++) (G++/GCC 3.4.2 + MinGW), Java (JDK 1.5.0_07), PHP (PHP 5.1.4)
BeitragVerfasst: Do 27.04.06 18:38 
Öh.. Tja, spontan würde ich sagen, der Nutzer ist angemeldet, wenn es beim öffnen des Registry-Schlüssels HKCU zu keinem Fehler kommt. Weil, wenn der User nicht angemeldet ist, gibt es keinen Current User. Weis aber nicht, ob Windows den Schlüssel bei der Abmeldung immer unmountet, oder nur bei Neuanmeldung den alten überschreibt... Halt, ich Trottel. Jeder User hat seine User.dat. Da steht die Struktur HKCU drin. Wenn man sich abmeldet muss Windows zwangsläufig die user.dat entladen, oder Windows pflastert den RAM zu. Oder aber Windows wäre mal clever. Dann würde man die alte user.dat erst bei der Neuanmeldung entladen und mit der neuen überschrieben. Ach, ich hab keine Ahnung. Wenn du dich dazu herablassen willst, Umgebungsvariablen zu benutzen: Wenn es einen %username% gibt, gibt es auch einen User. Oder so ähnlich. Ich weis wiederum nicht, wie das im unangemeldeten Zustand ist.
Tschö,
nullplan

_________________
Ich fahr' nicht selber, weil ich festgestellt habe: ich fahre zu emotional. Bin 180 gefahren wo 30 erlaubt war... -- Jürgen von der Lippe
webbi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142

Win XP Pro SP2, Debian GNU/Linux 2.6
D5 Pro, D7 Pro, BDS2006, Kylix3, MS-VS 2005
BeitragVerfasst: Do 27.04.06 19:53 
:?: :!: :?:
Aber Danke! - Interessanter Beitrag!

_________________
Programmieren ist der Wettkampf zwischen Programmierer
die immer noch einfachere Programme schreiben und Anwender die immer noch dümmer werden...
raiguen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 374

WIN 2000prof, WIN XP prof
D7EP, MSSQL, ABSDB
BeitragVerfasst: Fr 28.04.06 09:17 
Moin :-)
Wenn's um den angemeldeten Benutzer geht, dann nimm das:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
function UserName: PChar;
var
  buf: array [Byte] of Char;
  size: Cardinal;
begin
  size := SizeOf(buf);
  if GetUserName(@buf, size)
    then Result := @buf[0]
    else Result := nil;
end;

Unit SysUtils muss eingebunden sein.
Holgerx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 63
Erhaltene Danke: 27

Win95 - Win11 / MSServer2000 - MSServer2019
Delphi 6pro / XE4
BeitragVerfasst: Fr 28.04.06 12:10 
Hallo,

hab diesen Quellcode mal gefunden:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
function WorkstationLocked: boolean;
var
  hd:         HDESK;
  dwLN:       dword;
  pszIN:      array [0..255of char;
  s:          string;
begin
  hd := OpenInputDesktop(0, False, 0);
  if hd = 0 then begin
    WorkstationLocked := False;
    Exit;
  end;
  dwLN := 0;
  if not GetUserObjectInformation(hd, UOI_NAME, @pszIN, 256, dwLN) then begin
    WorkstationLocked := True;
    Exit;
  end;
  CloseDesktop(hd);
  s := AnsiLowerCase(Trim(Copy(pszIN, 0256)));
  WorkstationLocked := (s = 'winlogon');
end;


Bei true ist kein Benutzer angemeldet.

Mit GetUserName bekommt man den User (meist 'SYSTEM') des Dienstes zurückgeliefert.

Schauii..

Holger
webbi Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 142

Win XP Pro SP2, Debian GNU/Linux 2.6
D5 Pro, D7 Pro, BDS2006, Kylix3, MS-VS 2005
BeitragVerfasst: Di 02.05.06 21:43 
läuft...

Danke

_________________
Programmieren ist der Wettkampf zwischen Programmierer
die immer noch einfachere Programme schreiben und Anwender die immer noch dümmer werden...
Trunks
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 62

winXP, win98, winME, debian, suse, maCoS, Symbian, WinCE
Delphi 7, Delhi 2006, c++, MySql, db2, php, js, java, c#, assembler,
BeitragVerfasst: So 07.05.06 01:43 
Offtopic: Webbi? Ausm pimkie forum o.O?