Автор | Сообщение |
|
| постоянный участник
|
Пост N: 146
Зарегистрирован: 21.04.09
|
|
Отправлено: 29.01.12 19:10. Заголовок: Сетевое имя пользователя
Добрый день, уважаемые... В xHarbour есть такая функция netname(), которая возвращает сетевое имя пользователя и другие параметры. Возникла такая проблема: если длина сетевого имени, с которым пользователь зарегистрировался в системе, больше 15 символов, то функция возвращает пустую строку. И как с этим бороться, подскажите...
|
|
|
Ответов - 3
[только новые]
|
|
|
| постоянный участник
|
Пост N: 718
Зарегистрирован: 27.01.07
|
|
Отправлено: 30.01.12 10:06. Заголовок: NetName() использует..
NetName() использует NetBios, а там ограничение - 15 символов.
|
|
|
|
| постоянный участник
|
Пост N: 147
Зарегистрирован: 21.04.09
|
|
Отправлено: 30.01.12 13:29. Заголовок: Так как с этим борот..
Так как с этим бороться? Может кто-то уже для себя решал такую проблему? Есть такая программа на CPP. Она записывает нужное имя в файл на диск. Но прикрутить ее в качестве подпрограммы в xHarbour знания не позволяют. Может кто поможет с этим? #include <windows.h> #include <lmcons.h> #include <stdlib.h> #include <stdio.h> int main(int argc, char* argv[]) { DWORD nSize = max(UNLEN,MAX_COMPUTERNAME_LENGTH)+14; DWORD nSizeUN = nSize, nSizeCN = nSize; FILE *file; char far *lpUN = new char[nSize]; char far *lpCN = new char[nSize]; char *srcDest = new char[nSize*2]; GetUserName(lpUN,&nSizeUN); GetComputerName(lpCN,&nSizeCN); if (argc>=2) { file=fopen(argv[1],"w"); if (file!=NULL) { strcpy(srcDest,"USERNAME="); strcat(srcDest,lpUN); strcat(srcDest,"\n"); strcat(srcDest,"COMPUTERNAME="); strcat(srcDest,lpCN); strcat(srcDest,"\n"); fputs(srcDest,file); fclose(file); } } delete[] lpUN; delete[] lpCN; delete[] srcDest; return 0; }
|
|
|
|
| постоянный участник
|
Пост N: 1079
Зарегистрирован: 09.10.06
|
|
Отправлено: 30.01.12 13:49. Заголовок: Urri пишет: В xHarb..
Urri пишет: цитата: | В xHarbour есть такая функция netname(), которая возвращает сетевое имя пользователя и другие параметры. |
| Какие другие параметры возвращает netname() В Win netname() == GetComputerName() hb_username() == GetUserName() все другое можно и без знаний С++ написать
|
|
|
|