Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 03.09.2018, 21:32   #1
Irina_c
 
Регистрация: 06.06.2017
Сообщений: 4
Репутация: 10
По умолчанию Как открыть файла под определенной учетной записью в 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 в 23:31.
Irina_c вне форума   Ответить с цитированием
Старый 03.09.2018, 23:40   #2
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,613
Репутация: 5352
По умолчанию

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с учетной записью 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 11:20
как из Delphi определить под какой учетной записью осуществлен вход в систему zetrix Безопасность, Шифрование 1 29.10.2006 12:14


20:51.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru