Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Режим совместимости с XP

Ответить
Настройки темы
Delphi - Режим совместимости с XP

Аватара для treehel

Старожил


Сообщения: 205
Благодарности: 7

Профиль | Отправить PM | Цитировать


Попросил друга написать небольшую утилитку для запуска знаменитого BOA Soft PostInstaller с нужными мне параметрами. Получилось вот что:

Код: Выделить весь код
program CMD;

{$R 'run.res' 'run.rc'}

uses
  Forms,
  Windows,
  SysUtils;

begin
WinExec(pchar(ExtractFilePath(Application.exename)+'Presetup.exe /ini:PS_EN.INI /altskin:"\skin\SKIN_EN.INI"'),SW_HIDE);  
end.
Проблема в том, что под XP код шикарно работает, а под Vista/7 запускается только если установить режим совместимости с XP. Поскольку софт должен распространяется дальше, это не вариант. Можно ли в самом коде программы указать режим совместимости с XP и, например, запрос прав админа?

Спасибо )

-------
Наш канал на YouTube - тесты, обзоры, железо, игры, фото и видео.


Отправлено: 14:22, 19-09-2010

 

Ветеран


Сообщения: 3320
Благодарности: 916

Профиль | Отправить PM | Цитировать


treehel вот эту строчку WinExec(pchar(ExtractFilePath(Application.exename)+'Presetup.exe /ini:PS_EN.INI /altskin:"\skin\SKIN_EN.INI"'),SW_HIDE); необходимо заменить примерно на такую конструкцию
Код: Выделить весь код
STARTUPINFO cif = {0};
PROCESS_INFORMATION pi;
CreateProcess(NULL, pchar(ExtractFilePath(Application.exename)+'Presetup.exe /ini:PS_EN.INI /altskin:"\skin\SKIN_EN.INI"', NULL, FALSE, NULL, NULL, NULL, NULL, &cif, &pi);
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
Примерно, потому что здесь код С, в Делфи аналогичные конструкции (только синтаксис немного отличен).
И запуск будет производится как в ХР так и Севен.
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:18, 19-09-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - Режим совместимости с XP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Конкурс - Режим совместимости Windows 7 - установка и запуск приложений или драйверов OSZone Microsoft Windows 7 0 07-11-2009 12:30
[Ъ] Решение проблем совместимости приложений с помощью Администратора Совместимости Kthulhu Microsoft Windows 2000/XP 0 25-09-2006 23:53
Режим совместимости DestR0yer Microsoft Windows 2000/XP 1 27-04-2006 22:05
Режим совместимости у Windows XP DubleZero Microsoft Windows 2000/XP 8 15-04-2004 17:40




 
Переход