| 
| 
 | Вопрос # 5 839/ вопрос решён / | 
 |  Здравствуйте, эксперты!
 я тут без модуля регистри обхожусь при помощи http://www.swissdelphicenter.ch/torry/showcode.php?id=2008, некоторые нопонятки с исполнением кода, вот кодинг.
 
 НО вместо полного пути в реестре или кракозыбры, или неполный путь, что делать???
 
 Вот пример из реестра: http://s014.radikal.ru/i329/1112/bc/2d2b36daad7d.jpg
 
 помогите пожалуйста решить проблему.
 Приложение:Переключить в обычный режим var  b1: array of byte;  appexename, Temp: string;begin   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';    SetLength(b1, 4);    Move(Temp, b1[0], 4);  end;  appexename := ParamStr(0) + '\wl.exe';  RegSetString(HKEY_CURRENT_USER,    'HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\www',    appexename);  RegSetString(HKEY_CURRENT_USER, 'Software\winner13\www', appexename);  RegSetMultiString(HKEY_CURRENT_USER, 'Software\winner13\qqq', appexename);  RegSetBinary(HKEY_CURRENT_USER, 'Software\winner13\eee', b1);end;
|  |   Вопрос задал: 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 (статус: 1-ый класс), 22 декабря 2011, 19:59 [#2]:да с этим кодом в принципе не в бинарнике дело, а в ParamStr(0), почему то не полностью путь прописывается в формате ц:\путь к файлу\фаил.ехе, прописывается только ц:\путь к файлу\ и всё ... В роде системные ограничения но как сделать чтобы их не было не знаю... Не решимых проблем нет, есть неприятные для нас решения. |  
|   | 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 (статус: 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) Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |