![]() |
[C++] Username auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hiho ;)
Ich werkel grad etwas mit C++ rum und les dabei ein paar Daten wie PC-Name aus etc. U.a. auch den Usernamen, und zwar so:
Code:
pData ist ein struct und UserName vom Typ TChar :)
/* user name */
if( !GetUserName(pData.UserName, &countChar) ) { cout << "reading user name failed!" << endl; } Fehler bekomme ich keinen, wenn ich nun das Ganze aber mit diesem hier ausgeben lasse:
Code:
bekomme ich schlichtweg eine ganze Menge eines komischen NonSense-Zeichens.
cout << "user name: " << string(pData.UserName) << endl;
Alles andere past aber perfekt - woran kann das liegen? Achja, kann folgende Sache damit zusammenhängen? Ich habe mehrere Bentuzer aufm PC und will eig. per registry einen direkt starten, also ohne auswählen zu müssen. Irgendwie klappt das aber auch nicht, trotz ForceAutoLogon. Ist da vielleicht an meinem System grundlegend was "am Arsch"? :gruebel: Edit: Ich sehe grade, das Auslesen klappt nicht. Lass ich die Ausgabe weg, sehe ich die fehlermeldung, dass er den Usernamen nicht lesen konnte :gruebel: Edit2: Bei nem Kumpel funktionierts irgendwie (WinXP Home). Ich hab XP Prof. Edit3: Hab mal angehängt, was ich bekomme air |
Re: [C++] Username auslesen
Code:
#include <windows.h>
#include <stdio.h> #define INFO_BUFFER_SIZE 32767 void main() { TCHAR Buffer[INFO_BUFFER_SIZE]; DWORD bufCharCount = INFO_BUFFER_SIZE; if( !GetUserName( Buffer, &bufCharCount ) ) printf( "%d, GetLastError()" ); else printf( "\nUser name: %s", Buffer ); } |
Re: [C++] Username auslesen
Auf gut Deutsch GetLatError ausgeben ;)
Bekomme ich ein nettes "122" als Ausgabe. ;) air |
Re: [C++] Username auslesen
122: "Der an einen Systemaufruf übergebene Datenbereich ist zu klein." Dein Buffer ist wohl zu klein. Zeig mal mehr Code.
|
Re: [C++] Username auslesen
Nuja, was soll ich groß sagen?
Code:
Hab praktisch das selbe wie bei msdn (wo du zitiert hast ;) ), nur z.T. andere Namen.
#define INFO_BUFFER_SIZE 32767
struct dataBuf { TCHAR ComputerName[INFO_BUFFER_SIZE]; TCHAR UserName[INFO_BUFFER_SIZE]; TCHAR SysDir[INFO_BUFFER_SIZE]; TCHAR WinDir[INFO_BUFFER_SIZE]; }; ... dataBuf pData; DWORD countChar = INFO_BUFFER_SIZE; if( !GetUserName(pData.UserName, &countChar) ) { cout << GetLastError() << endl; } ... cout << "user name: " << string(pData.UserName) << endl; air |
Re: [C++] Username auslesen
Geht es denn ohne die Struct?
|
Re: [C++] Username auslesen
Ne, auch nich :(
Einziger Unterschied: Am Ende der Zeichen steht nicht der Pfad sondern ein anderes Zeichen (das ich vom Sehen her kenne, aber keinen Namen dafür habe ;) ). Welches das ist, dürfte ja aber wohl eh egal sein... air |
Re: [C++] Username auslesen
*PUSH*
Das es an sich nicht tut, ist zwar nicht wichtig. Nur wie gesagt vermute ich ja förmlich, dass an meinem System was putt is... Jemand noch 'ne Idee (außer Formatieren *fg*) air |
Re: [C++] Username auslesen
Ghet denn mein Code in einem neunen leeren Projekt?
|
Re: [C++] Username auslesen
Seltsam....ja, es geht. Aber was soll mir das sagen? :gruebel:
air |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz