Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.054 c
2-1236089287
Sergio
2009-03-03 17:08
2009.04.19
BDE+paradox


2-1235711956
nastya
2009-02-27 08:19
2009.04.19
Злополучная лямда


15-1234954507
desc
2009-02-18 13:55
2009.04.19
Существуют ли правила, ГОСТы, стандарты ит.д.


15-1235073067
DmitryG.
2009-02-19 22:51
2009.04.19
UnZip TMemoryStream


15-1234696527
Юрий
2009-02-15 14:15
2009.04.19
Портрет пользователей delphimaster.ru





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский