Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для Drongo

Будем жить, Маэстро...


Сообщения: 6694
Благодарности: 1393

Профиль | Сайт | Отправить PM | Цитировать


Но это не правильно в любом случае, уж лучше тогда определять программно учётку пользователя и\или рабочий стол. Для скриптов AVZ писали определение рабочего стола через реестр, код нашёл в инете, принцип такой же. При запуске читаем ветку реестра
Код: Выделить весь код
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
ключ Desktop. Получаете истинное значение ключа, сохраняете его в переменную и используете как угодно
Код: Выделить весь код
...
...
uses Registry;
...
function GetDesktopDir:String;
var reg:TRegistry;
begin
  Result:='';
  reg:=TRegistry.Create(KEY_READ);
  try
    reg.RootKey:=HKEY_CURRENT_USER;
    if reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',False) then
       Result:=reg.ReadString('Desktop');
    reg.CloseKey;
  finally
    reg.Free;
  end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(GetDesktopDir);
end;
...
Ещё нашёл такой, но с делфи знаком поверхностно, так что если что - не обессудьте.

Код: Выделить весь код
uses
  SHFolder;
var
path: array [0 .. MAX_PATH] of char;
begin
SUCCEEDED(SHGetFolderPath(0, CSIDL_DESKTOPDIRECTORY, 0, 0, @path[0]));
end;
P.S. Проверяйте перед открытием наличие папки "Новая папка", иначе если её не будет...

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Последний раз редактировалось Drongo, 08-01-2012 в 18:01.


Отправлено: 17:55, 08-01-2012 | #12