Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - prelevare nome utente
Forum - C/C++ - prelevare nome utente

Avatar
giga91 (Normal User)
Newbie


Messaggi: 12
Iscritto: 04/05/2010

Segnala al moderatore
Postato alle 15:25
Mercoledì, 02/06/2010
Questo topic è stato chiuso dal moderatore

Salve avrei bisogno di un vostro aiuto..
Avrei bisogno di prelevare il nome utente (dell'utente dove gira questo mio software)
e darlo ad una variabile es char utente.
Ho letto un po in giro ed esiste una funzione che si chiama GetUserName..
Non riesco a farla andare..Dove sbaglio?

Codice sorgente - presumibilmente C/C++

  1. char utente[255];
  2. GetUserName(utente);


PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:35
Mercoledì, 02/06/2010
La GetUserName prevede due argomenti, non uno.

Leggi la sua documentazione su come usarla.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
giga91 (Normal User)
Newbie


Messaggi: 12
Iscritto: 04/05/2010

Segnala al moderatore
Postato alle 15:45
Mercoledì, 02/06/2010
si lo letta..non lo capita bene..qui ce un pezzo di codice di esempio..

Codice sorgente - presumibilmente Delphi

  1. GetUserName
  2.  
  3. Get user name that is currently logged to the system
  4.  
  5. Declare:
  6. //user name
  7. Function long GetUserName(ref string lpBuffer, ref long nSize )  Library "advapi32.dll" Alias for "GetUserNameA"
  8.  
  9.  
  10. Execution:
  11. //user name
  12. ls_buffer = space(100)
  13. li_ret = GetUserName(ref ls_buffer, 100 )
  14. MessageBox("user name", trim(ls_buffer))




cosa e la seconda variabile?

Ultima modifica effettuata da giga91 il 02/06/2010 alle 15:46
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 15:50
Mercoledì, 02/06/2010
Testo quotato

Postato originariamente da giga91:
si lo letta..non lo capita bene..qui ce un pezzo di codice di esempio..



Scusa, ma se l'hai letta e sai che c'è un secondo parametro, perchè ci proponi un codice evidentemente sbagliato? Semmai domandati a cosa serve il secondo parametro e come devi usarlo perchè ti venga restituito il nome correttamente ...

E poi, quello che hai proposto non è C/C++ ma Visual Basic ... cosa c'entra?

La documentazione che ti consiglio di studiare veramente è qui

GetUserName
http://msdn.microsoft.com/en-us/library/ms724432(VS.85).aspx

Il secondo parametro è

LPDWORD lpnSize

"On input, this variable specifies the size of the lpBuffer buffer, in TCHARs. On output, the variable receives the number of TCHARs copied to the buffer, including the terminating null character."

Quindi dovrai passare il puntatore ad una variabile di tipo DWORD inizializzata con la lunghezza in caratteri del buffer.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
giga91 (Normal User)
Newbie


Messaggi: 12
Iscritto: 04/05/2010

Segnala al moderatore
Postato alle 16:05
Mercoledì, 02/06/2010
no me ne sono accorto solo dopo aver scritto il post, mentre continuavo le mie ricerche..Comunque ho capito come funziona, cono riuscito nel mio intento grazie mille per la pasienza:k:
Ne poso approfittare per chiederti un altra cosa?
utilizzando la funziona system, come posso concatenare un comando ad una stringa?
mi spiego meglio..

char utente[200]="ciao";
system("blat matematica.txt -to utente@hotmail.it");

vorrei passare la variabile utente alla funzione system e metterla al posto di utente.
Avevo provato con la concatenazione ma senza successo..ho provato semplicemente
system("blat -install out.alice.it %s@alice.it", utente);
ma non centra nulla..
Come posso fare?

Ultima modifica effettuata da giga91 il 02/06/2010 alle 16:13
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 16:11
Mercoledì, 02/06/2010
Prego ... ma

Testo quotato

Postato originariamente da giga91:
pasienza



... l'italiano, questo sconosciuto ... :)


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM
Avatar
giga91 (Normal User)
Newbie


Messaggi: 12
Iscritto: 04/05/2010

Segnala al moderatore
Postato alle 16:14
Mercoledì, 02/06/2010
8-|8-|8-| figura di merda!!!

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 16:19
Mercoledì, 02/06/2010

il solito lamer che vuole farsi il virus:

http://funnyup.forumcommunity.net/?t=9717418

locko immediatamente.

PM