| Структура программирования, программирование, языки программирования, книги программирование | На сайте представлена информация про программирование в Интернете и работу |
|
Событие на выход из процедуры, Как его сделать? Как бы сделать zip не zip'ом, чтобы архиватор не догадался Вывод JPEG из ресурса, Вывод JPEG из ресурса DBGrid, Скроллинг не работает состояние лотка cd-rom Убить приложение У меня к вам ышо вопросик есть ебаут Creating Проблемы с Query и DataSource Кодировки TMemo и XPManifest, Проблема с DOS кодировкой в Memo Файлы руссификации к ExpressQuantumGrid, ExpressMasterView, ExpressBars точный прицел принтера Как правильно реализовать многострочность в ячейке, Как правильно реализовать многострочност средства делфи для создания help'a LPT порт, Вопрос WMI на Delphi Message with Tedit, Message with Tedit TClientServer, TServerClient ComboBox, не исчезающий выпадающий список TChart Подмена ресурсов, UpdateResource для всех версий Windows Как сменить рабочий каталог Delphi7 Как анализировать отловленный exception?, Есть ли у Exception цифровые коды? OLE+WORD DelphiX, OnCollision для анимированных спрайтов, Срабатывает только на первом изображении writecomponent Модальное окно, Оказывается на заднем плане Как Вы относитесь к курящим девушкам? Priveleged Instruction, Не получается в WinXP exe, найти OER Ресурсы GDI, не освобождаюцца ресурсы защищенные страницы памяти winXP Изменение иконки в SystemTray? Запуск программы от имени другово пользователя, RunAs в Win XP Регистрация записи, В RemObjects Pascal Script ProgressBar1, как с ним работать Тормоза, Тормоза при компиляции программы. Писк в строке, НЕобходимо найти параметр в строке TMemo, Сколько строк? Обмануть Delphi, for to do Связка проги и хелпа с помощью контекстных ссылок, при показе pop-up вылетает содержание Compact Rus Popup как в Windows --> Пуск, помогите Сколько занимает папка? Следующая строка, Следующая строкачерез промежуток времяни файл, Не могу дописать файл как включить компьютер програмным способом Изменить имя компа, Изменить имя компа Обучение програмированию, Со скольки лет начинать значение до знака, надо взять пораметры до определённого зн изменение стиля WebBrowser1, где ощибка??? А что у меня TAB-Contol не работають? Переход на следующую строку в TMemo?, КАК? Работа со звуком Update Tray Компилятор, исходник... Градиентная заливка TPanel?, Как залить??? 1.fsStayOnTop и 2.TPanel не полное значение, Мемо выдает не полное значение Как извлечь дочернюю форму из Dll?, Как извлечь дочернюю форму из Dll? Синтаксис, как сохранить Скопировать файл., Чёт я затупил. Вопрос по ShellListView, Теперь уже заключительный... как узнать откуда запушен процесс Помогите сделать правильно., Бьюсь над задачей..... Извлечь часть строки, Подскажите функцию... Сравнение ADA – Delphi – Pascal, нужна литература Скопировать Html-файл, Вместе со всеми картинками, стилями и др Delphi 7 - отличия и трудности Своя коллекция компонет Не компилируется проект! Нелп!!!, ошибка в файле Buttons.res |
Платные хостинги Раскрутка сайта Книги по программированию Запуск программы от имени другово пользователя, RunAs в Win XP
- CreateProcessAsUser + LogonUserникогда не пользовался, не было необходимости... - Может Я что нетак делаю но этот код нефига не работает:Код procedure TForm1.Button1Click(Sender: TObject);var a :Thandle; b : TStartupInfo; c : TProcessInformation; UserName, AppName, Domain, Passw:PAnsiChar;begin Username := PChar(Edit1.Text); Domain := PChar('Domen'); Passw := PChar(Edit2.Text); AppName := PChar('cmd'); if LogonUser(Username, Domain, Passw, LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_WINNT50,a) then begin Application.MessageBox('','logon OK',MB_Ok); if CreateProcessAsUser(a,AppName,'',nil,nil,true,0,nil,'c:\',b,c) then Application.MessageBox('','Start OK',MB_Ok) else Application.MessageBox('','ERROR',MB_Ok); end;end;highlightSyntax('delphiljYzFi','delphi'); - Мда, нехватает привилегий... SE_TCB_PRIVILEGE... Удивительно конечно. К сожадению я не могу дать себе привилегию эту программно, т.к. подключен к серверу как звычайный юзер Ладно, если у тебя 2K или XP - скажи, и я дам другой пример. На Си говоришь или в паскаль переводить? Это сообщение отредактировал man2002ua - 28.3.2003, 23:54 - у меня ХР.если не влом, то лучше переведи,но если нет желания, то можно и в С - Если честно - влом. Да и код простой...Код #include <windows.h>#define UNICODEtypedef BOOL WINAPI CreateProcessWithLogonW( LPCWSTR lpUsername, // user's name LPCWSTR lpDomain, // user's domain LPCWSTR lpPassword, // user's password DWORD dwLogonFlags, // logon option LPCWSTR lpApplicationName, // executable module name LPWSTR lpCommandLine, // command-line string DWORD dwCreationFlags, // creation flags LPVOID lpEnvironment, // new environment block LPCWSTR lpCurrentDirectory, // current directory name LPSTARTUPINFOW lpStartupInfo, // startup information LPPROCESS_INFORMATION lpProcessInfo // process information]);void main(void){ char err[256]; HANDLE hToken, A; STARTUPINFOW si = {sizeof(STARTUPINFOW)}; PROCESS_INFORMATION pi; LPVOID W; wchar_t *pName = L"C:\\winnt\\system32\\calc.exe"; wchar_t *aName = L"Администратор"; wchar_t *aPassw = L""; wchar_t *aSrv = L"MAN"; BOOL rez; HINSTANCE Hlib = LoadLibrary("c:\\winnt\\system32\\advapi32.dll"); if(!Hlib){ MessageBox(0,"Lib error","!",0); return; } W = GetProcAddress(Hlib,"CreateProcessWithLogonW"); rez = ((CreateProcessWithLogonW*)W)(aName,aSrv,aPassw,1, pName,pName,0,NULL,NULL,&si, &pi); if(rez == 0){ wsprintf(err, "Error [%ld] creating process!", GetLastError()); MessageBox(0, err, "Error", 0); } return;}highlightSyntax('delphiODYwYW','delphi'); - всё также плохо..логон проходит, но запуска нет - Код ошибки какой?У меня калькулятор запустился под другим пользователем (локальным). - Код ошибки 1314ещё впросик :использование CreatProcessAsUserW или CreatProcessAsUser или CreatProcessAsUserA принципиально? - НЕ понял, у меня 1314 (PRIVILEGE_NOT_HELD) вылезало только при LogonUser, а во втором случае - все как по маслу!Какие права ты на машине имеешь и какие права имеет юзер, под кем ты запускаешь процесс? - тестирую я имея права админа, запуская от юзверя,а применятся будет с точностью до наобороти вопрос открыт :использование CreatProcessAsUserW или CreatProcessAsUser или CreatProcessAsUserA принципиально? - Юзверь с правами админа, или я что-то не понял? - Вообще-то такой функции, как CreatProcessAsUser вообще не существует, при компиляции она заменяеться(из-за того что гдето ) на вызов CreatProcessAsUserA(в случае использования ANSI строк) или CreatProcessAsUserW(в случае работы с Unicode строками).Я делал, как у man2002ua все работало отлично. Это сообщение отредактировал XpyDi - 30.3.2003, 05:48 - Непонятно, почему у тебя не запускается. А стандартными методами XP, под тем же юзером - получается? - Юзверь с правами админна и есть АДМИН |