|
Вопрос # 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)
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|