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

Вниз

Как узнать имя пользователя, запустившего приложение?   Найти похожие ветки 

 
Dimon777 ©   (2007-06-26 12:16) [0]

Как узнать имя пользователя, запустившего приложение?
Причем это надо сделать до инциализации этого приложения.

program Project1;

uses
 Forms,
 Unit1 in "Unit1.pas" {Form1};

{$R *.res}

begin
 Здесь надо узнать имя пользователя
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


 
iXT ©   (2007-06-26 12:28) [1]

GetUserName :)


 
homm ©   (2007-06-26 12:31) [2]

> Как узнать имя пользователя, запустившего приложение?

Попросить его ввести свое имя в диалоговом окне, либо четко проговорить в микрофон :)

> Причем это надо сделать до инциализации этого приложения.

До? Значит это должна делать система, а не твое приложение? Это врят-ли.


 
KilkennyCat ©   (2007-06-26 12:49) [3]


> homm ©   (26.06.07 12:31) [2]

система это и так делает. всегда.


 
homm ©   (2007-06-26 12:55) [4]

> система это и так делает. всегда.

Это ясно, просто под фразой «Как узнать» скорее всего кроется «как сдлать некие дйствия сэтим именем, а возможно и условный переход» :)

А вооще конечно, что примать под «инциализации приложения», если посмотреть на [0], то автор имел ввиду Application.Initialize, а мне вот подумалось что это до вызова системой CreateProcess.


 
Dimon777 ©   (2007-06-26 14:07) [5]


> Это ясно, просто под фразой «Как узнать» скорее всего кроется
> «как сдлать некие дйствия сэтим именем, а возможно и условный
> переход» :)
>
> А вооще конечно, что примать под «инциализации приложения»,
>  если посмотреть на [0], то автор имел ввиду Application.Initialize


Именно!

Вот рабочий код вызова этой самой GetUserName. Пример взят с королевства. Оказывается GetUserName вызвать не так уж просто!!!

program Project1;

uses
 Forms,
 SysUtils,
 Windows,
 Unit1 in "Unit1.pas" {Form1};

{$R *.res}

var s:string;

function userName: string;
var
 Buf: array[0..255]of char;
 c: cardinal;
begin
 c:=Length(Buf);
 if getUserName(Buf, c) then
   result:=Buf
 else
   RaiseLastOSError;
end;

begin
 //и уже здесь можно что-нибудь делать с UserName, например присвоить:
 S:=userName;
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.Run;
end.


 
Сергей М. ©   (2007-06-26 15:02) [6]


> GetUserName вызвать не так уж просто


И что ?

Ну вызови "сложно" - что это изменит ?

У функции вполне конкретная задача, и функция с ней отлично справляется, несмотря на "уровень простоты" ее вызова.

Ы?


 
Dimon777 ©   (2007-06-26 15:07) [7]

Да все нормально, все работает, проблема решена!



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

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

Наверх





Память: 0.46 MB
Время: 0.044 c
1-1179287475
kukuikar
2007-05-16 07:51
2007.07.22
Синхронизатор: проблема быстрой проверки большого кол-ва файлов


15-1182701773
Kostafey
2007-06-24 20:16
2007.07.22
С днем рождения ! 24 июня


11-1165925757
Trible
2006-12-12 15:15
2007.07.22
_NewControl


15-1182335090
db2admin
2007-06-20 14:24
2007.07.22
Что за формат *.pdb?


1-1179322890
webpauk
2007-05-16 17:41
2007.07.22
Получение размера иконок





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский