Страница 4 из 4

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 19:48:03
vitaly_l
Brainenjii писал(а):"Пользователь! Перезапусти!"

Это плохой вариант...

Остаётся вариант: CreateProcessWithLogonW...
Но как получить: User, Domain, Password ??? Такое вообще возможно??? Если такое возможно, то нужен пример (поиск не дал результата)
Если такое невозможно то остаётся cacls, но тогда нужен список User'sName на машине... Как такой список получить??? (поиск не дал результата)
Или точнее уникальное название группы "все пользователи"...



СПАСИТЕ - ПОМОГИТЕ.... (пожалуйста) или убейте Блин-Гейтца!
Вот зачем все эти пароли?, если достаточно напечатать команду из 10 символов и доступ открыт ко всему...


.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 19:54:43
Brainenjii
создавать назначенные задания для пользователя можно без знания паролей - достаточно иметь админские права. Собственно, этот вариант и предлагался для обхода большого сообщения ^_^

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 20:02:23
vitaly_l
Brainenjii писал(а):создать назначенное задание для запуска приложения через 1 секунду

Это (назначенное задание) я тоже делать не умею... Пример можно???

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 20:13:58
Brainenjii
Schtasks - раз уж с cacls'ами справились, то этот синтаксис точно освоите

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 20:27:54
vitaly_l
Brainenjii писал(а):раз уж с cacls'ами справились, то этот синтаксис точно освоите

Спасибо это полезная ссылка(рекомендую там аж шесть частей про Schedule)...

Однако вопрос о получении списка User's на машине - остаётся открытым...
Если кто знает, пример, ПОЖАЛУЙСТА!!!

.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 20:30:46
Brainenjii
В WinAPI не силён. Выше уже предлагалось решение в духе сей темы ^_^ Вызываете TaskList /V с получением вывода, отыскиваете в нём строки с explorer.exe и вычленяете оттуда имя пользователя (там же - домен). Если пользователь запустил Install из под своей учетки (даже от другого пользователя) - там этот пользователь будет.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 20:49:59
vitaly_l
Brainenjii писал(а):Вызываете TaskList /V с получением вывода


для текущего пользователя UserName проще получить с помощь команды set...



.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 21:51:00
Brainenjii
если запущено под админом - set вернёт админа, насколько я понимаю...

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.03.2012 22:26:49
vitaly_l
Brainenjii писал(а):если запущено под админом - set вернёт админа, насколько я понимаю...

GetEnvironmentVariable - вернёт имя пользователя, а если он обладает правами админа, то имя админа...


Вопрос: Есть ли, аналог: cacls? (в виде функции)



.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 12.07.2012 17:28:14
PapaNT
Пишете на NTFS? Посмотрите права на каталог с файлом и, если необходимо, через setacl.exe поправьте права к файлу.

P.S.: Ели будет свободное время, то сам как-нибудь нарисую модуль для работы с NTFS :D

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 29.10.2013 11:21:45
Tango
Может лучше так? И это будет правильно!
Код: Выделить всё
Const
  DCLDir='YouProgrammName';
{$IFDEF UNIX}
  PathDelim='/';
  ConfigDir='/.config/';
{$ELSE}
  PathDelim='\';
  ConfigDir='\';
{$ENDIF}


Procedure InitGetAppConfigDir;
Begin
  {$IFDEF UNIX}
  AppConfigDir:=GetEnvironmentVariable('HOME');
  {$ENDIF}
  {$IFDEF MSWINDOWS}
  AppConfigDir:=GetSpecialPath(CSIDL_APPDATA);
  {$ENDIF}

  AppConfigDir:=AppConfigDir+ConfigDir;

  if not DirectoryExists(AppConfigDir) then
    CreateDir(AppConfigDir);

  AppConfigDir:=AppConfigDir+DCLDir;
  If not DirectoryExists(AppConfigDir) then
    CreateDir(AppConfigDir);
End;