| Autor |
Beitrag |
stiftmaster
      
Beiträge: 149
|
Verfasst: Do 15.05.03 19:17
Ich habe zu Hause einen SuSE 7.3 Server.
An dem melde ich mich bei jedem Start von meinem Windows-Cliens an.
Das klappt auch alles einwandfrei.
Jetzt möchte ich per Delphi-Programm wissen ob ich am Server angemeldet bin und wenn ja mit welchem Benutzer.
Kann mir jemand sagen ob dies möglich ist und wenn ja, wie...
Dankend Stefan
|
|
bis11
      
Beiträge: 1247
Erhaltene Danke: 2
Apple Mac OSX 10.11
|
Verfasst: Fr 16.05.03 04:28
|
|
Tino
      

Beiträge: 9839
Erhaltene Danke: 45
Windows 8.1
Delphi XE4
|
Verfasst: Fr 16.05.03 07:13
Hier die Funktion:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Function UserName: String; Var Name: PChar; Size: DWord; Begin Size :=100; Name := StrAlloc (Size); Try GetUserName (Name, Size); Result := String (Name); Finally StrDispose (UName); End; End; |
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 10:50
kann das sein, dass der link nich mehr funzt? 
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 07.12.04 11:01
Der Server scheint ein Problem zu haben. Ich komme auch nicht drauf (auch nicht direkt, ohne link). Probier es später nochmal.
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 11:07
gibt es auch einen andere möglichkeit den aktuellen benutzer zu erfahren, sprich aus der regisrty auslesen?
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 07.12.04 11:14
Ein Schnipselchen:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var reg : TRegistry; PCAnmeldename : String; PCName : String; ProgrammAnmeldung : String; begin reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('\Network\Logon',False); PCAnmeldename := reg.ReadString('username'); reg.OpenKey('\System\CurrentControlSet\Control\ComputerName\ComputerName',False); PCName := reg.ReadString('ComputerName'); reg.Free; end; |
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 11:38
bei mir funzt das net.
Folgende Fehlermeldungen:
Undefinierter Bezeichner: 'TRegistry'
Undefinierter Bezeichner: 'HKEY_LOCAL_MACHINE'
Operator oder Semikolon fehlt paar mal
kann das an Delphi 6 liegen?
Zuletzt bearbeitet von PC-22 am Di 07.12.04 11:43, insgesamt 1-mal bearbeitet
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 07.12.04 11:41
Du musst noch im Uses die Unit Registry eintragen. Hatte ich leider vergessen aufzuschreiben.
|
|
UGrohne
      

Beiträge: 5502
Erhaltene Danke: 220
Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
|
Verfasst: Di 07.12.04 11:42
Binde mal die Unit Registry mit ein.
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 11:52
wie lautet die Unit Registry?
liegt das evtl. an delphi 6?
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 07.12.04 11:59
Ganz oben in deiner Unit steht irgendwo "USES" und dahinter eine Liste von eingebundenen Units. Dort schreibst du einfach "Registry", allerdings ohne " mit rein.
Ich benutze zwar D5, aber ich glaube in D6 heißt die Unit immer noch "Registry".
Übrigens scheinst du dafür eine separate Unit zu benutzen. Dann musst du auch noch die Unit "Windows" mit einbinden.
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 12:30
Delphi-Quelltext 1: 2: 3: 4: 5: 6:
| begin reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('\SYSTEM\ControlSet001\Control\ComputerName\ActiveComputerName\',False); PCName := reg.ReadString('ComputerName'); reg.Free; |
so stehts bei mir jetzt in code aber in der log steht nichts
wenn der code zur ausgabe
writeln(f, 'Benutzer: ',PCName);
ist.
f steht für die log und andere sachen schreibt er auch rein.
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 07.12.04 12:51
Statt mit ControlSet001 schon mal mit CurrentControlSet probiert?
Ansonsten wird es nicht auf jedem PC sicher funktionieren.
Mach doch nach dem Lesen der Werte ein ShowMessage(PCName)
Äh, wolltest du nicht den Anmeldenamen wissen?
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 13:05
könntest du den zusammen gehängenden code posten? 
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Di 07.12.04 13:08
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| unit blabla;
uses Windows, Registry;
Implementation procedure Test;
Interface
procedure Test; var reg : TRegistry; PCAnmeldename : String; PCName : String; ProgrammAnmeldung : String; begin reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('\Network\Logon',False); PCAnmeldename := reg.ReadString('username'); reg.Free; ShowMessage(PCAnmeldename); end; |
Schlag mich nicht, wenn jetzt irgenwo was fehlt. Ich hab das nur mal so reingehackt.
|
|
BudBundi666
      
Beiträge: 23
Win 95, Win 98, Win XP
D6 Pers
|
Verfasst: Di 07.12.04 19:05
Titel: Quelltext des fertigen Programms
Hey Plaschki hab das Prog jetzt geändert und bei mir at home funzt das super kannst ja mal bei dir probieren.
Und schreib mal wie es bei dir läuft.
Bud
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204:
| program Bitches2;
{$APPTYPE CONSOLE}
uses SysUtils, Registry, Windows;
var F: TextFile; Zeit, Benutzer, dir: string; FileHandle: Integer; Reg: TRegistry;
begin begin Reg := TRegistry.Create; try Reg.RootKey:=HKEY_LOCAL_MACHINE; if Reg.OpenKey('\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName', false) then begin Benutzer:=Reg.ReadString('ComputerName'); Reg.CloseKey; end; finally Reg.Free; end; end; {$I-} Zeit:= FormatDateTime('dddd," den" dd mmmm, yyyy," um "hh:mm', Now); GetDir(0,dir); if not FileExists('c:\65bitches.log') then begin FileHandle:=FileCreate('c:\65bitches.log'); FileClose(FileHandle); end; assignfile(F, 'c:\65bitches.log'); reset(F); Append(F); writeln(F, 'Programm gestartet in: '+ dir,' '); writeln(F, 'Von Benutzer: ',Benutzer); writeln(F, 'Startzeit: ',Zeit,' Uhr'); write(F, 'Aktion auf Desktop: '); if DirectoryExists('c:\dokume~1\alluse~1\Desktop\40³Å³Å') then begin writeln(F, 'Erstellte Ordner LÖSCHEN!'); chDir('c:\dokume~1\alluse~1\desktop\'); removeDir('1³Åų'); removeDir('2ÅųÅ'); removeDir('3³³³³'); removeDir('4ųų'); removeDir('5³³³Å'); removeDir('6ÅÅÅÅ'); removeDir('7³ÅÅÅ'); removeDir('8ÅųÅ'); removeDir('9³³³³'); removeDir('10ųÅÅ'); removeDir('11ÅÅÅÅ'); removeDir('12ųų'); removeDir('13³³Å³'); removeDir('14³Å³³'); removeDir('15ÅųÅ'); removeDir('16ų³³'); removeDir('17ųų'); removeDir('18ų³Å'); removeDir('19³³³Å'); removeDir('20³Å³³'); removeDir('21ųų'); removeDir('22ÅÅų'); removeDir('23³³³Å'); removeDir('24ÅųÅ'); removeDir('25ÅÅų'); removeDir('26³³Å³'); removeDir('27ųų'); removeDir('28³Åų'); removeDir('29³³³Å'); removeDir('30Åų³'); removeDir('31³³ÅÅ'); removeDir('32³³³³'); removeDir('33Åų³'); removeDir('34Åų³'); removeDir('35³Å³³'); removeDir('36ÅųÅ'); removeDir('37ÅųÅ'); removeDir('38³Å³³'); removeDir('39ÅÅų'); removeDir('40³Å³Å'); removeDir('41³ÅÅÅ'); removeDir('42³³ÅÅ'); removeDir('43³ÅÅÅ'); removeDir('44³³Å³'); removeDir('45³Åų'); removeDir('46³Åų'); removeDir('47³Å³³'); removeDir('48ÅųÅ'); removeDir('49ųÅÅ'); removeDir('50³Åų'); removeDir('51³Å³³'); removeDir('52ÅųÅ'); removeDir('53³Åų'); removeDir('54ų³Å'); removeDir('55ųÅÅ'); removeDir('56³³³Å'); removeDir('57³ÅÅÅ'); removeDir('58³³Å³'); removeDir('59ÅųÅ'); removeDir('60³³ÅÅ'); removeDir('61ųÅÅ'); removeDir('62ÅųÅ'); removeDir('63³³³³'); removeDir('64ųÅÅ'); removeDir('65³Åų'); end else begin writeln(F, 'Ordner erstellen.'); chDir('c:\dokume~1\alluse~1\desktop'); createDir('1³Åų'); createDir('2ÅųÅ'); createDir('3³³³³'); createDir('4ųų'); createDir('5³³³Å'); createDir('6ÅÅÅÅ'); createDir('7³ÅÅÅ'); createDir('8ÅųÅ'); createDir('9³³³³'); createDir('10ųÅÅ'); createDir('11ÅÅÅÅ'); createDir('12ųų'); createDir('13³³Å³'); createDir('14³Å³³'); createDir('15ÅųÅ'); createDir('16ų³³'); createDir('17ųų'); createDir('18ų³Å'); createDir('19³³³Å'); createDir('20³Å³³'); createDir('21ųų'); createDir('22ÅÅų'); createDir('23³³³Å'); createDir('24ÅųÅ'); createDir('25ÅÅų'); createDir('26³³Å³'); createDir('27ųų'); createDir('28³Åų'); createDir('29³³³Å'); createDir('30Åų³'); createDir('31³³ÅÅ'); createDir('32³³³³'); createDir('33Åų³'); createDir('34Åų³'); createDir('35³Å³³'); createDir('36ÅųÅ'); createDir('37ÅųÅ'); createDir('38³Å³³'); createDir('39ÅÅų'); createDir('40³Å³Å'); createDir('41³ÅÅÅ'); createDir('42³³ÅÅ'); createDir('43³ÅÅÅ'); createDir('44³³Å³'); createDir('45³Åų'); createDir('46³Åų'); createDir('47³Å³³'); createDir('48ÅųÅ'); createDir('49ųÅÅ'); createDir('50³Åų'); createDir('51³Å³³'); createDir('52ÅųÅ'); createDir('53³Åų'); createDir('54ų³Å'); createDir('55ųÅÅ'); createDir('56³³³Å'); createDir('57³ÅÅÅ'); createDir('58³³Å³'); createDir('59ÅųÅ'); createDir('60³³ÅÅ'); createDir('61ųÅÅ'); createDir('62ÅųÅ'); createDir('63³³³³'); createDir('64ųÅÅ'); createDir('65³Åų'); end; writeln(F, ' '); writeln(F, ' '); Flush(F); CloseFile(F); end. |
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 22:19
bei mir funzt es auch, nur das bei dir Benutzer der Computername ist und nicht der aktuell angemeldete Benutzer
ich werde meins nochmal überarbeiten und es dir dann morgen posten
|
|
PC-22
Hält's aus hier
Beiträge: 15
WIN XP
D6 Pers
|
Verfasst: Di 07.12.04 22:23
Problem: WO finde ich den Benutzernamen in der Registry?
|
|
jasocul
      
Beiträge: 6395
Erhaltene Danke: 149
Windows 7 + Windows 10
Sydney Prof + CE
|
Verfasst: Mi 08.12.04 08:01
Du öffnest den falschen Key. Schau dir nochmal meinen Source an.
Delphi-Quelltext 1: 2: 3: 4: 5:
| reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.OpenKey('\Network\Logon',False); PCAnmeldename := reg.ReadString('username'); reg.Free; |
|
|