На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! user posted image
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Соблюдайте общие правила форума

Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как запустить программу/файл? (и дождаться ее завершения)
5. Как перехватить API-функции, поставить hook? (перехват сообщений от мыши, клавиатуры - внедрение в удаленное адресное прстранство)
... (продолжение следует) ...

Внимание:
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки - бан.
Мат в разделе - бан на три месяца...

Полезные ссылки:
user posted image MSDN Library user posted image FAQ раздела user posted image Поиск по разделу user posted image Как правильно задавать вопросы


Выразить свое отношение к модераторам раздела можно здесь: user posted image Rouse_, user posted image Krid

Модераторы: Rouse_, Krid
  
> Запись Hex в реестр , Не знаю как
    У меня есть hex:02 45 4A ... мне нужно засунуть их в реестр. Не могу понять как сделать это на Delphi.
    Есть много примеров, но как с Hex непонимаю!
    Как двоичные данные, или как?
      RegSetValueEx(Key,'bla-bla-bla',0,REG_BINARY,@value,SizeOf(value))
        Цитата ZEE,9.01.04, 14:12
        RegSetValueEx(Key,'bla-bla-bla',0,REG_BINARY,@value,SizeOf(value))

        А как мне заполнить value своим значением? И как описать (Pointer или иначе)?
          ок, для непонятливых более детальный пример:
          ExpandedWrap disabled
            var Key:hKey;
                D1,value:integer;
            ...
              if RegCreateKeyEx(HKEY_CURRENT_USER,'...',0,nil,
                    REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,nil,Key,
                    @D1)=Error_Success then
              begin
                value:=...;
                RegSetValueEx(Key,'...',0,REG_BINARY,@value,SizeOf(value));
              end;
            ...

          зы: думаю понятно что ставить вместо трех точек :)
            Честно говоря я нечего не понял из этого примера, но разобрался сам!
            Вот пример для тех, кому это может понадобиться!
            ExpandedWrap disabled
              Program Printer;
               
              {$APPTYPE CONSOLE}
               
              Uses
                SysUtils,
                Registry,
                Windows;
               
              Var
               MyKey  : TRegistry;
               
              Const
               Zapis:array[0..309] of byte= ($45, $70, $73, $6f, $6e, $20, $4c, $58, $2d, $38, $30, $30, $00, $00, $00, $00, $00, $00, $00,
               $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $04, $94, $00, $a2, $00, $03, $66, $00, $04,
               $01, $00, $09, $00, $7f, $00, $fe, $00, $00, $00, $01, $00, $08, $00, $78, $00, $01, $00, $01, $00, $90, $00, $01, $00, $00,
               $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
               $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00,
               $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $03, $00, $00, $00, $00, $00, $00, $00,
               $00, $00, $00, $00, $01, $00, $40, $00, $4d, $53, $55, $44, $00, $03, $45, $70, $73, $6f, $6e, $20, $4c, $58, $2d, $38, $30,
               $30, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $84, $00, $00, $00,
               $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $64, $00, $00, $00, $00, $00, $01, $00, $62, $00, $02, $00, $00,
               $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $ec, $00, $c5, $00, $00, $00, $00, $00, $ff, $ff, $00, $00, $00, $00,
               $00, $00, $00, $00, $00, $00, $21, $00, $01, $00, $06, $00, $ff, $ff, $00, $00, $ff, $ff, $00, $00, $ff, $ff, $ff, $ff, $00,
               $00, $00, $00, $00, $00, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff,
               $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff);
               
              begin
               Writeln('>>LOADING PRESENTS FOR PRINTER "Epson LX-800">>');
               MyKey:=TRegistry.Create;
               MyKey.RootKey:=HKEY_LOCAL_MACHINE;
               MyKey.OpenKey('System\CurrentControlSet\Control\Print\Printers\Epson LX-800',true);
               MyKey.WriteBinaryData('Default DevMode',Zapis,SizeOf(Zapis));
               Writeln('>>FAVOURITE PRESENTS WAS SAVED>>');
               MyKey.CloseKey;
               MyKey.Free;
              end.

            Под XP не уверен что пойдет, а вот под Windows9X работает идеально!
              А где же try & finally? =)
                Ну если хотите можно добавить :)
                  Цитата
                  Du-Xa, 12.01.04, 14:45
                  Честно говоря я нечего не понял из этого примера

                  судя по тому что этот раздел назывется "Система, Windows API" - я так понял нужен был пример записи в реестр на API (бинарная запись),
                  но как видно из "разобрался сам!" - нужен был все же VCL :huh:
                  но раз разобрался - то все ОК :)
                  Цитата
                  Du-Xa, 12.01.04, 14:45
                  Под XP не уверен что пойдет, а вот под Windows9X работает идеально!

                  должно пойти - там ниче "криминального" нет ...
                    На самом деле я создал здесь эту тему ориентируясь на слово "система", windows api.
                    Но все-равно огромное спасибо за внимание!
                    1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0289 ]   [ 15 queries used ]   [ Generated: 20.05.24, 06:40 GMT ]