Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 839

/ вопрос решён /

Здравствуйте, эксперты!

я тут без модуля регистри обхожусь при помощи http://www.swissdelphicenter.ch/torry/showcode.php?id=2008, некоторые нопонятки с исполнением кода, вот кодинг.

НО вместо полного пути в реестре или кракозыбры, или неполный путь, что делать???

Вот пример из реестра: http://s014.radikal.ru/i329/1112/bc/2d2b36daad7d.jpg

помогите пожалуйста решить проблему.

Приложение:
  1. var
  2. b1: array of byte;
  3. appexename, Temp: string;
  4. begin
  5.  
  6. begin
  7. Temp :=
  8. '00 00 00 00 00 00 00 00 03 00 00 00 00 00 5B E0 00 00 5C E0 00 00 00 00';
  9. SetLength(b1, 4);
  10. Move(Temp, b1[0], 4);
  11. end;
  12. appexename := ParamStr(0) + '\wl.exe';
  13. RegSetString(HKEY_CURRENT_USER,
  14. 'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\www',
  15. appexename);
  16. RegSetString(HKEY_CURRENT_USER, 'Software\winner13\www', appexename);
  17. RegSetMultiString(HKEY_CURRENT_USER, 'Software\winner13\qqq', appexename);
  18. RegSetBinary(HKEY_CURRENT_USER, 'Software\winner13\eee', b1);
  19. end;


winner13 Вопрос решён, но можно продолжить его обсуждение в мини-форуме

Вопрос задал: winner13 (статус: 1-ый класс)
Вопрос отправлен: 22 декабря 2011, 12:45
Состояние вопроса: решён, ответов: 0.


Мини-форум вопроса

Всего сообщений: 4; последнее сообщение — 23 декабря 2011, 09:19; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 22 декабря 2011, 13:09 [#1]:

А что хочется сделать этим кодом
begin
 // записали текст в строку, ок
 Temp := '00 00 00 00 00 00 00 00 03 00 00 00 00 00 5B E0 00 00 5C E0 00 00 00 00';
 // выставили размер массива в 4 байта, в массиве мусор.
 SetLength(b1, 4);
 // копируем адрес начала массива байт.
 Move(Temp, b1[0], 4);
 end;
А теперь строка RegSetBinary(HKEY_CURRENT_USER, 'Software\winner13\eee', b1); запишет этот адрес в реестр. И кому он там нужен, спрашивается?
Галочка "подтверждения прочтения" - вселенское зло.
winner13

winner13 (статус: 1-ый класс), 22 декабря 2011, 19:59 [#2]:

да с этим кодом в принципе не в бинарнике дело, а в ParamStr(0), почему то не полностью путь прописывается в формате ц:\путь к файлу\фаил.ехе, прописывается только ц:\путь к файлу\ и всё ... В роде системные ограничения но как сделать чтобы их не было не знаю...
Не решимых проблем нет, есть неприятные для нас решения.
winner13

winner13 (статус: 1-ый класс), 22 декабря 2011, 20:40 [#3]:

Хотя всё, нашел в чёт трабла , заменил в модуле минирег

function RegSetString(RootKey: HKEY; Name: string; Value: string): Boolean;
begin
Result := RegSetValue(RootKey, Name, REG_SZ, PChar(Value + #0), (Length(Value) + 1) * SizeOf(Char));
end;

Теперь трабла только с бинарником ...
Не решимых проблем нет, есть неприятные для нас решения.
winner13

winner13 (статус: 1-ый класс), 23 декабря 2011, 09:19 [#4]:

Разобрался с бинарником +)просто использовал вместо динамического массива статический.
Const
licenseKey: array [1 .. 24] of byte = ($00, $00, $00, $00, $00, $00, $00, $00, $03,
$00, $00, $00, $00, $00, $5B, $E0, $00, $00, $5C, $E0, $00, $00, $00, $00);
Не решимых проблем нет, есть неприятные для нас решения.

23 декабря 2011, 09:20: Статус вопроса изменён на решённый (изменил автор вопроса — winner13)

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 26 марта 2023, 08:19
Выполнено за 0.03 сек.
Рейтинг@Mail.ru