Форум программистов, компьютерный форум, киберфорум
Наши страницы

Assembler, MASM, TASM

Войти
Регистрация
Восстановить пароль
 
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 282
Записей в блоге: 6
#1

struc REG_BINARY - Assembler

29.09.2010, 18:50. Просмотров 769. Ответов 0
Метки нет (Все метки)

Имеем в реестре параметр "Framewindow", который заполняется следущим образом:
00 00 00 00 00 00 00 00 18 00 00 00 80 04 00 00 2с 03 00 00
Из чего понятно, что тут пять блоков по четыре байта. Два последние блока указывают на ширину и высоту окна, что есть 1152 x 812. Второй блок указывает зазор для верхнего таскбара. Нули в начале
скорее всего резервируют отрицательные положения точек экрана.

Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
include '%fasm%\win32ax.inc'
section '.code' executable
start:
        xor eax,eax
        mov eax,18h
        mov [i],eax
 
        invoke GetSystemMetrics,SM_CXSCREEN
        mov [x],eax
 
        invoke GetSystemMetrics,SM_CYSCREEN
        sub eax,52
        mov [y],eax
 
        invoke RegCreateKeyEx,HKCU,'Software\Steinberg\Nuendo',NULL,NULL,REGT,KEY_WRITE,NULL,phkResult,NULL
        invoke RegSetValueEx,[phkResult],'Framewindow',NULL,REG_BINARY,!,20
        invoke RegCloseKey,[phkResult]
;...
 
exit:
        invoke ExitProcess,NULL
 
.end start
 
section '.data' readable
 
        HKCU = HKEY_CURRENT_USER
        REGT = REG_OPTION_NON_VOLATILE
 
        lpFile db 'Nuendo.exe',0
 
section '.data' readable writable
 
        ! dq NULL
        i dd ?
        x dd ?
        y dd ?
 
        phkResult dd ?
 
        lpDir dd ?
Я бы хотел чтобы поправили мой код при необходимости, если что либо тут можно оптимизировать,
либо более красиво исполнить. Мне кажется данные надо оформить в виде структуры.
У меня же получается просто чтение куска памяти... Или это нормально? Кто что посоветует тут?

А как вообще обрезать чтение когда это нужно? Ведь если бы не число 20 в апи RegSetValueEx(),
то я бы не знал как указать длину буфера например. И ещё для меня вообще это было неожиданно,
что память читается без указания переменных, указав только начало. Забавно!

Вопрос по ресурсам ещё! Как правильно размещать ico в файле?
1=16x16, 2=32x32, 3=64x64, 4=128x128 или наоборот?
Я часто вижу, что нумерация бывает перевёрнута, или это вообще не важно? Проводник что сам находит?

Добавлено через 17 часов 16 минут
Немного по другому решил (часть CommandLine)
Код
        macro exec rc,e,c { cmp word [ebx],rc
        jne @f

        invoke ShellExecute,NULL,NULL,e,c,NULL,SW_NORMAL
        jmp exit
        }

        exec '-t','taskmgr.exe',NULL
@@:
хотя это компромисс :\
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.09.2010, 18:50
Здравствуйте! Я подобрал для вас темы с ответами на вопрос struc REG_BINARY (Assembler):

Reg_binary. Считать первые 10 байт - Delphi
считывать весь параметр сильно муторно, так как данные в нем представляют внушающий размер. как то можно считать первые 10 байт инфы? ...

как записать значение параметра REG_BINARY - C++ Builder
Люди помогите.Как по нажатию на кнопку изменить значение в двоичном параметре реестра. void __fastcall TForm1::Button1Click(TObject...

Как работать с ключом реестра типа REG_BINARY? - C++ WinAPI
Привет, ребятки! Не знаю, в ту ли я тему пишу, но у меня возникла следующая проблема. Мне в коде необходимо менять настройки безопасности...

Работа с реестром, читаем типы REG_BINARY и REG_MULTI_SZ - C++ WinAPI
Ребятушки! Нид хелп! Нужно считать с реестра ключи типов REG_DWORD, REG_QWORD, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ и REG_BINARY. ...

Reg_binary. Считать первые 10 байт - Delphi
считывать весь параметр сильно муторно, так как данные в нем представляют внушающий размер. как то можно считать первые 10 байт инфы? ...

как записать значение параметра REG_BINARY - C++ Builder
Люди помогите.Как по нажатию на кнопку изменить значение в двоичном параметре реестра. void __fastcall TForm1::Button1Click(TObject...

Как работать с ключом реестра типа REG_BINARY? - C++ WinAPI
Привет, ребятки! Не знаю, в ту ли я тему пишу, но у меня возникла следующая проблема. Мне в коде необходимо менять настройки безопасности...

Работа с реестром, читаем типы REG_BINARY и REG_MULTI_SZ - C++ WinAPI
Ребятушки! Нид хелп! Нужно считать с реестра ключи типов REG_DWORD, REG_QWORD, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ и REG_BINARY. ...

Reg_binary. Считать первые 10 байт - Delphi
считывать весь параметр сильно муторно, так как данные в нем представляют внушающий размер. как то можно считать первые 10 байт инфы? ...

как записать значение параметра REG_BINARY - C++ Builder
Люди помогите.Как по нажатию на кнопку изменить значение в двоичном параметре реестра. void __fastcall TForm1::Button1Click(TObject...

Как работать с ключом реестра типа REG_BINARY? - C++ WinAPI
Привет, ребятки! Не знаю, в ту ли я тему пишу, но у меня возникла следующая проблема. Мне в коде необходимо менять настройки безопасности...

Работа с реестром, читаем типы REG_BINARY и REG_MULTI_SZ - C++ WinAPI
Ребятушки! Нид хелп! Нужно считать с реестра ключи типов REG_DWORD, REG_QWORD, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ и REG_BINARY. ...

Reg_binary. Считать первые 10 байт - Delphi
считывать весь параметр сильно муторно, так как данные в нем представляют внушающий размер. как то можно считать первые 10 байт инфы? ...

как записать значение параметра REG_BINARY - C++ Builder
Люди помогите.Как по нажатию на кнопку изменить значение в двоичном параметре реестра. void __fastcall TForm1::Button1Click(TObject...

Как работать с ключом реестра типа REG_BINARY? - C++ WinAPI
Привет, ребятки! Не знаю, в ту ли я тему пишу, но у меня возникла следующая проблема. Мне в коде необходимо менять настройки безопасности...

Работа с реестром, читаем типы REG_BINARY и REG_MULTI_SZ - C++ WinAPI
Ребятушки! Нид хелп! Нужно считать с реестра ключи типов REG_DWORD, REG_QWORD, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ и REG_BINARY. ...

Reg_binary. Считать первые 10 байт - Delphi
считывать весь параметр сильно муторно, так как данные в нем представляют внушающий размер. как то можно считать первые 10 байт инфы? ...

как записать значение параметра REG_BINARY - C++ Builder
Люди помогите.Как по нажатию на кнопку изменить значение в двоичном параметре реестра. void __fastcall TForm1::Button1Click(TObject...

Как работать с ключом реестра типа REG_BINARY? - C++ WinAPI
Привет, ребятки! Не знаю, в ту ли я тему пишу, но у меня возникла следующая проблема. Мне в коде необходимо менять настройки безопасности...

Работа с реестром, читаем типы REG_BINARY и REG_MULTI_SZ - C++ WinAPI
Ребятушки! Нид хелп! Нужно считать с реестра ключи типов REG_DWORD, REG_QWORD, REG_SZ, REG_EXPAND_SZ, REG_MULTI_SZ и REG_BINARY. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
0
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.