Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2011, 22:47   #1
Алексей_C
Пользователь
 
Аватар для Алексей_C
 
Регистрация: 27.10.2007
Сообщений: 40
По умолчанию Запись в реестр из reg файла в windows 7 x64

Такая проблема, записать значения в реестр из reg файла не получается.

Сразу скажу что у Win7 x64 включен UAC - и это важно, должно быть включено!

Запускал приложение под администратором, а затем запускал bat файл в котором прописан запуск reg файла, все вроде запускается и без ошибок проходит, но значения в реестр не вносятся, при том, что есть просто запустить bat файл вручную под администратором, то данные вносятся... Что я не так делаю?

Часть кода:
Код:
 
FillChar( Si, SizeOf( Si ) , 0 );
 with Si do begin
  cb := SizeOf( Si);
  dwFlags := startf_UseShowWindow;
  wShowWindow := 4;
 end;
 Createprocess(nil,pchar(ExtractFilePath(application.ExeName) +
      's.bat'),nil,nil,false,Create_default_error_mode,nil,nil,si,p);

Последний раз редактировалось Stilet; 19.02.2011 в 08:43.
Алексей_C вне форума Ответить с цитированием
Старый 19.02.2011, 00:30   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Createprocess(nil,pchar(ExtractFile Path(application.ExeName) + 's.bat')

Цитата:
To run a batch file, you must start the command interpreter; set lpApplicationName to cmd.exe and set lpCommandLine to the following arguments: /c plus the name of the batch file.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 19.02.2011, 14:58   #3
Алексей_C
Пользователь
 
Аватар для Алексей_C
 
Регистрация: 27.10.2007
Сообщений: 40
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
> Createprocess(nil,pchar(ExtractFile Path(application.ExeName) + 's.bat')
можно бы часть кода посмотреть, че-то не могу сообразить как...
Алексей_C вне форума Ответить с цитированием
Старый 19.02.2011, 15:42   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Если не ошибаюсь:
Код:
 Createprocess('cmd',pchar('/с "'+ExtractFilePath(application.ExeName) +
      's.bat"'),nil,nil,false,Create_default_error_mode,nil,nil,si,p);
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2011, 16:21   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Ошибаешься. Забыл cmd ещё во втором параметре.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 19.02.2011, 16:41   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Ито верно...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.02.2011, 17:52   #7
Алексей_C
Пользователь
 
Аватар для Алексей_C
 
Регистрация: 27.10.2007
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Если не ошибаюсь:
Код:
 Createprocess('cmd',pchar('/с "'+ExtractFilePath(application.ExeName) +
      's.bat"'),nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Че-то вообще не запускается bat файл, а где именно, че пропущено?

я сделал вот так, но так все-ровно данные в реестр не вносятся...
Код:
CreateProcess(nil, PChar('cmd.exe /C "'+ExtractFilePath(application.ExeName) +
      's.bat"'),nil,nil,false,Create_default_error_mode,nil,nil,si,p);
если первым ставить 'cmd' - то совсем не запускается....

Последний раз редактировалось Алексей_C; 19.02.2011 в 18:20.
Алексей_C вне форума Ответить с цитированием
Старый 19.02.2011, 20:21   #8
artemavd
Старожил
 
Аватар для artemavd
 
Регистрация: 05.06.2008
Сообщений: 4,194
По умолчанию

А зачем это надо делать вообще?
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
artemavd вне форума Ответить с цитированием
Старый 20.02.2011, 07:43   #9
Алексей_C
Пользователь
 
Аватар для Алексей_C
 
Регистрация: 27.10.2007
Сообщений: 40
По умолчанию

Цитата:
Сообщение от artemavd Посмотреть сообщение
А зачем это надо делать вообще?
Для того, чтобы интегрировать в ОС определенную библиотеку с определенными настройками, вот поэтому мне это и надо...
Алексей_C вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реестр - Необходимо изменить действие по умолчанию для .reg файлов(«Изменить» вместо «Объединить»). ACE Valery Windows 7 30.11.2010 23:33
Windows 7 x64 СисТемникс Windows 7 13.09.2010 07:09
Не устанавливает windows 7 x64 stenl1 Windows 2 19.08.2010 16:54
Реестр в x64 Xatr Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 17.01.2010 04:00
запуск reg файла SL1CK Общие вопросы Delphi 3 21.11.2009 22:17