Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];

Вниз

Windows XP При смене имени учетной записи ,появляеться проблема !   Найти похожие ветки 

 
Романов А.   (2002-07-18 09:20) [0]

Windows XP При смене имени учетной записи ,появляеться проблема считывания этого имени пользователя в windows xp

практика:
я создал учетную запись в xp , зашел туда ,все гуд
запустил прогу определения имени вход в windows сесию.
он например alex , потом в настройках текущей учетной записи меняю имя alex на tom .. после чего windows у себя визульно поменяла alex на tom. я человек не суевернй ,но все равно делаю перезагрузку виндов ,она теперь спрашивает пароль уже на tom и пропускает меня ,но сного запускаю прогу определения входно имени пользователя в текущей сесии windows ,она дает мне первое имя регистрации текущей учетной записи..т.е. alex , как быть???
как мне быть и что делать?

Как мне из D6 под xp win считать правильное имя учетной записи для входа в систему...Да так что бы эта все корректно работало и с др. версиями windows.


 
Eugene Lachinov   (2002-07-18 13:19) [1]

А как оно считывается сейчас ?


 
Романов А.   (2002-07-19 06:39) [2]

Я же написал ,что считываеться при любом раскладе alex..

а вот функции которые я пробывал

function GetUser: String;
var dwI:DWord;
begin
dwI:=MAX_PATH;
SetLength(Result,MAX_PATH+1);
if GetUserName(PChar(Result),dwI) then
SetLength(Result,StrLen(PChar(Result)))
else SetLength(Result,0);
end;


function GetNetUser: String;
var dwI:DWord;
begin
dwI:=MAX_PATH;
SetLength(Result,MAX_PATH+1);
if WNetGetUser(nil,PChar(Result),dwI)=NO_ERROR then
SetLength(Result,StrLen(PChar(Result)))
else SetLength(Result,0);
end;


 
Гений   (2002-07-22 07:02) [3]

Вопрос конечно интересный ,ну не думаю ,что здесь кто-то тебе ответит на него.


 
Eugene Lachinov   (2002-07-22 11:19) [4]

Это работает на XP, на других системах GetUserName

type
EXTENDED_NAME_FORMAT = (
NameUnknown = 0,
NameFullyQualifiedDN = 1,
NameSamCompatible = 2,
NameDisplay = 3,
NameUniqueId = 6,
NameCanonical = 7,
NameUserPrincipal = 8,
NameCanonicalEx = 9,
NameServicePrincipal = 10
);

var
GetUserNameEx : function (
NameFormat : EXTENDED_NAME_FORMAT;
lpNameBuffer : PWChar;
var nSize : DWord) : Bool; stdcall;

procedure TForm1.Button1Click(Sender: TObject);
var
Buf : array[0..512] of WChar;
dwSize : DWord;
hSecur32 : THandle;
begin
hSecur32 := LoadLibrary("SECUR32.DLL");
if hSecur32 <> 0 then try
@GetUserNameEx := GetProcAddress(hSecur32, "GetUserNameExW");
if @GetUserNameEx <> nil then begin
dwSize := 512;
if GetUserNameEx(NameDisplay, Buf, dwSize) then
ShowMessage(string(Buf))
end
finally
FreeLibrary(hSecur32)
end
end;



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.09.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
4-35950
bobic
2002-07-19 11:07
2002.09.12
Программное переключение языка


3-35573
ссс
2002-08-22 09:25
2002.09.12
Если какой нить Dblookupcombo где можно показывать 2 поля?


1-35633
Strela
2002-08-30 01:18
2002.09.12
Динамическое создание объекта


7-35922
Tahion
2002-06-30 08:29
2002.09.12
Как отображение картинки сделать так же, как в настройках ScreenS


3-35627
harismatik
2002-08-23 12:08
2002.09.12
СРОЧНО! Список пользователей базы!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский