Воскресенье, 22.12.2024, 12:28 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
Смена атрибута файла,находящегося в директории: Рабочий стол
QubertДата: Понедельник, 23.01.2012, 21:54 | Сообщение # 1
Частый гость
Зарегистрирован: 21.01.2012
Группа: Пользователи
Сообщений: 43
Статус: Offline
Здравствуйте1
Подскажите пожалуйста: как поменять атрибут файла, который находится в директории рабочий стол или в директории downloads (та папка, которая идет через пользователя)!

я пробовал FileSetAttr(GetEnvironmentVariable('Desktop')+'Project1.exe',2);
но ничего не получается...пробовал менять название на русский - эффект, к сожалению, тот же!

Спасибо!
Буду очень благодарен за ответ!
 
dolphinДата: Понедельник, 23.01.2012, 22:33 | Сообщение # 2
Администратор
Сообщений: 906
Статус: Offline
С правами администратора запускать пробовали?

Система: Windows 10 x64, Kali Linux
Среды программирования: Delphi 7, Delphi 10.x

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
QubertДата: Понедельник, 23.01.2012, 22:39 | Сообщение # 3
Частый гость
Зарегистрирован: 21.01.2012
Группа: Пользователи
Сообщений: 43
Статус: Offline
а это можно осуществить с помощью самого Делфи?
или именно требуется менять на админа ..?
 
gravitasДата: Понедельник, 23.01.2012, 22:40 | Сообщение # 4
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
Quote (Qubert)
я пробовал FileSetAttr(GetEnvironmentVariable('Desktop')+'Project1.exe',2);

К десктопу так просто путь не получить. Я тут в соседней теме функцию кинул:
Code
function GetSpecialPath(CSIDL: word): string;      
type      
gPath = function(hwndOwner: HWND; lpszPath: PAnsiChar; nFolder: Integer; fCreate: BOOL): BOOL; stdcall;      
var      
s: String;      
GetPath: gPath;      
begin      
@GetPath:=GetProcAddress(LoadLibrary('shell32.dll'), 'SHGetSpecialFolderPathA');      
SetLength(s, MAX_PATH);      
if not GetPath(0, PChar(s), CSIDL, true)      
    then s:=GetSpecialPath($001a);      
result:=PChar(s);      
end;

Т.е. ваш код будет выглядеть так:
Code
FileSetAttr(GetSpecialPath($0000)+'\Project1.exe',2);

Обновил код, была ошибка.


TheDeduction

Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
 
QubertДата: Понедельник, 23.01.2012, 22:50 | Сообщение # 5
Частый гость
Зарегистрирован: 21.01.2012
Группа: Пользователи
Сообщений: 43
Статус: Offline
Круто! Больше нечего сказать!
сам бы просто бы не ....мягко говоря...не смог бы!

Спасибо большое!

а если в директорию C:\Users\User\Downloads...что изменится? не подскажете?
 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz