-
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 RaiseLastWin32Error();
Application.terminate;
end; Или подскажите плиз, как егов Висте сделать работоспособным?
-
> Или подскажите плиз, как егов Висте сделать работоспособным?
Виста вообще по другому работает.
-
Как определить в висте откуда программа запустилась. То бишь файл создаеться...но создаеться в учетке пользователя из под которой она запустилась..
-
regedit под вистой требует для запуска админские привилегии, и при включеном уаке, если ваше приложение не под админом, код невыполнится :)
выход: добавьте хороший манифест.
-
> vopros (15.04.2008 14:36:00) [0]
Как по твоему для чего у тебя тут RaiseLastWin32Error стоит, для красоты? Будь добр озвучить ошибку.
-
> Как определить в висте откуда программа запустилась.
Твоя ? Так же как и обычно - Apllication.Exename или ParamStr(0).
-
To lapslap
>Что такое манифест? >Что такое манифест, и какую роль он играет в выборе версии 6.0 >библиотеки comctl32.dll для моего приложения? Манифест - XML документ >который должен быть подлинкован в ресурсы вашего приложения. Обычно >ресурсы используются для хранения таких вещей как картинки, иконки и >курсоры мыши.
Как манифест повлияет на выполнение Regedit? Или я пардон ошибаюсь?
-
> if > ShellExecute(Handle, 'open', 'regedit.exe', > PChar(Format('/e "%s" "%s"', [FileName, Key])), > '', SW_SHOWDEFAULT) ;<= 32 > then //если ошибка, то возвращаемый код <=32
А на каком языке ви пытаетесь кодить?
-
> RaiseLastWin32Error(); > Application.terminate;
какая-то из двух строчек явно лишняя
-
Virube User Access Control i vse dela... v User Accounts..
-
|