Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2018, 20:32   #1
Irina_c
 
Регистрация: 06.06.2017
Сообщений: 7
По умолчанию Как открыть файла под определенной учетной записью в delphi?

Подскажите, как открыть файла определенной программы под определенной учетной записью в delphi?

Пробывала так


Код:
procedure RunAsAdministrator(const source:string);
var
shExecInfo: PShellExecuteInfoA;
begin
New(shExecInfo);
shExecInfo^.cbSize := SizeOf(SHELLEXECUTEINFOA);
shExecInfo^.fMask := 0;
shExecInfo^.Wnd := 0;
shExecInfo^.lpVerb := 'runas';
shExecInfo^.lpFile := PAnsiChar(ExtractFileName(source));
shExecInfo^.lpParameters := '';
shExecInfo^.lpDirectory := PAnsiChar(ExtractFilePath(source));
shExecInfo^.nShow := SW_SHOWNORMAL;
shExecInfo^.hInstApp := 0;
ShellExecuteEx(shExecInfo);
Dispose(shExecInfo);
end;
но так запускается только exe, без файла


пробовала так:

Код:
ShellExecute(Handle, 'open', 'C:\MyDocuments\Test.doc',
nil, nil, SW_SHOWNORMAL) ;
Но не получается открыть под определенной учетной записью.

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 03.09.2018 в 22:31.
Irina_c вне форума Ответить с цитированием
Старый 03.09.2018, 22:40   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

ну, во-первых, насколько я могу судить, то у Вас в примере это не - "как открыть файла определенной программы под определенной учетной записью в delphi",
а аналог выбора пункта "Запуск от имени администратора".

Чтобы реально запустить под другой учётной записью, нужно
а) знать логин и пароль этой записи
б) использовать createprocesswithlogonw из WinAPI (из advapi32 )

во-вторых, могу предложить такой костыль - получить имя EXE файла, связанного с вашим файлом .doc и потом запустить в режиме администратора этот EXE файл, передав ему полный путь к файлу в качестве параметра ( lpParameters := 'C:\MyDocuments\Test.doc' )
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с учетной записью Mortimoro Операционные системы общие вопросы 2 11.07.2011 14:51
Проблемы с управлением другой учетной записью в Win7 Ultimate Esenya75 Windows 1 27.06.2011 12:22
Не работает под ограниченной учетной записью! sashahttp Софт 7 05.04.2010 08:22
Оffice не работает под одной учетной записью Romankko Microsoft Office Word 1 04.01.2010 10:20
как из Delphi определить под какой учетной записью осуществлен вход в систему zetrix Безопасность, Шифрование 1 29.10.2006 11:14