Форум: "WinAPI";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];
ВнизПочему такой код в Висте не работает а в XP работает? Найти похожие ветки
← →
vopros (2008-04-15 14:36) [0]
FileName := "expreg.reg"; //заполнить именем файла (расширение указывать)
Key := "HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\";
if
ShellExecute(Handle, "open", "regedit.exe",
PChar(Format("/e "%s" "%s"", [FileName, Key])),
"", SW_SHOWDEFAULT) ;<= 32
then //если ошибка, то возвращаемый код <=32
RaiseLastWin32Error();
Application.terminate;
end;
Или подскажите плиз, как егов Висте сделать работоспособным?
← →
tesseract © (2008-04-15 14:53) [1]
> Или подскажите плиз, как егов Висте сделать работоспособным?
Виста вообще по другому работает.
← →
vopros (2008-04-15 15:36) [2]Как определить в висте откуда программа запустилась.
То бишь файл создаеться...но создаеться в учетке пользователя из под которой она запустилась..
← →
lapslap (2008-04-15 15:36) [3]regedit под вистой требует для запуска админские привилегии, и при включеном уаке, если ваше приложение не под админом, код невыполнится :)
выход: добавьте хороший манифест.
← →
Anatoly Podgoretsky © (2008-04-15 15:45) [4]> vopros (15.04.2008 14:36:00) [0]
Как по твоему для чего у тебя тут RaiseLastWin32Error стоит, для красоты?
Будь добр озвучить ошибку.
← →
tesseract © (2008-04-15 16:34) [5]
> Как определить в висте откуда программа запустилась.
Твоя ? Так же как и обычно - Apllication.Exename или ParamStr(0).
← →
В.В. Дельфин (2008-04-18 07:59) [6]To lapslap
>Что такое манифест?
>Что такое манифест, и какую роль он играет в выборе версии 6.0 >библиотеки comctl32.dll для моего приложения? Манифест - XML документ >который должен быть подлинкован в ресурсы вашего приложения. Обычно >ресурсы используются для хранения таких вещей как картинки, иконки и >курсоры мыши.
Как манифест повлияет на выполнение Regedit? Или я пардон ошибаюсь?
← →
Плохиш © (2008-04-18 12:33) [7]
> if
> ShellExecute(Handle, "open", "regedit.exe",
> PChar(Format("/e "%s" "%s"", [FileName, Key])),
> "", SW_SHOWDEFAULT) ;<= 32
> then //если ошибка, то возвращаемый код <=32
А на каком языке ви пытаетесь кодить?
← →
Игорь Шевченко © (2008-04-18 16:30) [8]
> RaiseLastWin32Error();
> Application.terminate;
какая-то из двух строчек явно лишняя
← →
zensan © (2008-04-19 23:43) [9]Virube User Access Control i vse dela... v User Accounts..
← →
Eraser © (2008-04-20 01:11) [10]вообще, если у регедита манифест, терубющий админские привелегии, то данный код (если в нем нет глупых ошибок) должен вызвать диалог поднятия привелегий.
вообще тут все подробно
http://www.codeproject.com/KB/vista-security/UAC__The_Definitive_Guide.aspx
но повторюсь - должно работать просто через ShellExecute.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2009.04.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c