auslesen des angemeldeten Windowsuser mit BB3d (gelöst)

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Sir Gauss der III

Betreff: auslesen des angemeldeten Windowsuser mit BB3d (gelöst)

BeitragDo, Mai 08, 2014 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

wie oben im Titel suche ich eine Möglichkeit mittels BB3d den angemeldeten User bei Windows auszulesen.
Ich lebe in meiner eigenen Welt. Das ist OK, man kennt mich dort.
  • Zuletzt bearbeitet von Sir Gauss der III am Fr, Mai 09, 2014 23:30, insgesamt einmal bearbeitet

Eingeproggt

BeitragDo, Mai 08, 2014 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, ich dachte das wär einfach... Aber als ich es selbst gerade probiert hab, bin ich gescheitert Confused

BlitzBasic: [AUSKLAPPEN]
;http://msdn.microsoft.com/en-us/library/windows/desktop/ms724432(v=vs.85).aspx

;advapi32.decls im Blitz-Verzeichnis/userlibs:
;.lib "advapi32.dll"
;api_GetUserName% (lpBuffer*, nSize%) : "GetUserNameA"

DebugLog getUserName$()

WaitKey()
End

Function getUserName$()
Local size = 128
Local temp = CreateBank(size)
Local ret = api_GetUserName(temp, size)
Local name$=""
DebugLog size
If ret > 0 Then
For i=0 To size
name$ = name + Chr(PeekByte(temp, i))
Next
Else
DebugLog "Error?"
EndIf
FreeBank temp
Return name$
End Function


Ich krieg beim API-Aufruf einen MAV Sad Unter WinXP (32Bit).
Aber der Ansatz sollte stimmen so. Wichtig ist die decls-Datei im Blitz-Userlib Verzeichnis. Kennst du dich damit aus?

mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Sir Gauss der III

BeitragDo, Mai 08, 2014 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht wirklich, ich habe momentan zwar im Ansatz mit .decls gearbeitet, jedoch eher auf nutzung und weniger auf selbsterstellen.
Ich lebe in meiner eigenen Welt. Das ist OK, man kennt mich dort.

Eingeproggt

BeitragDo, Mai 08, 2014 23:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja die bräuchte man eh nur "nutzen" wenn man sie einmal im Texteditor erstellt hat Wink
Also eine neue Textdatei erstellen, beliebig benennen (hauptsache *.decls-Endung) und dann das reinkopieren:
Code: [AUSKLAPPEN]
.lib "advapi32.dll"
api_GetUserName% (lpBuffer*, nSize%) : "GetUserNameA"

Das wars für diesen Fall auch schon wieder.
Würde mich interessieren ob es auf anderen Systemen auch n MAV gibt. Aber ich befürchte schon... Werde da wohl was übersehen haben. Man könnte statt lpBuffer* auch lpBuffer$ probieren, aber das hat auch ned funktioniert vorhin...

mfG, Christoph
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Xeres

Moderator

BeitragFr, Mai 09, 2014 0:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Man kann es sich auch einfach machen:
BlitzBasic: [AUSKLAPPEN]
Print("User: " + GetEnv("username"))
WaitKey()
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Eingeproggt

BeitragFr, Mai 09, 2014 10:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Wußte ich doch, dass ich was übersehen hab Laughing
Ja dann kann man meinen Vorschlag wohl getrost links liegen lassen.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Sir Gauss der III

BeitragFr, Mai 09, 2014 23:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Eingeproggt. Die .decls hab habe ich vom gunrdprinzip schon verstanden, nur selbst welche zu entwerfen reicht noch nicht. Aber Vielen Dank für die Hilfe.

@Xeres
danke, functioniert einwandfrei.
Ich lebe in meiner eigenen Welt. Das ist OK, man kennt mich dort.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group