Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 287
Записей в блоге: 6
1

SetSysColors (FASM)

20.02.2013, 18:29. Просмотров 833. Ответов 9
Метки нет (Все метки)

Напишите пожалуйста программу (за меня), чтобы цвет всех окон Windows изменить.
Диалоги никакие не нужны, просто изменить.
http://msdn.microsoft.com/ru-ru/libr...(v=vs.85).aspx
У меня на Windows 8 проблемма с установкой themes.
Начало хотябы, как пример, я дальше доделаю.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 18:29
Ответы с готовыми решениями:

fasm
org 100h mov cl,0 mov ch,255 cikl: mov ah,0eh shl ch,1 jc perivod mov...

WriteFile в FASM
Плз подскажите как пользоваться с функцией WriteFile в FASM. Файл создал с...

MSXML (Fasm)
Много раз уже слышал об этой библиотеке, но может ктнибудь покажет примерчик...

WinApi и fasm
Есть ли толковая документации по использованию winapi в fasm'e ?

прерывание в fasm
Я создал программу вывода на экран веке кода клавиши. С помощью int 16h .но за...

9
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
20.02.2013, 20:01 2
а почему бы Вам на си шарпе не набросать сей код? у Вас вроде как специализация. зачем извращаться на ФАСМ?
0
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 287
Записей в блоге: 6
20.02.2013, 20:27  [ТС] 3
Дистрибутив NET весит 300Gb у устанвливается 15 минут, причём теперь обязательно по сети.
0
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
20.02.2013, 23:08 4
перепишу пример из ссылки на масм, что-то мне не очень понятна работа сей функции... если разберусь то заделаю по-человечески

Добавлено через 24 минуты

Не по теме:

завтра к утру дам, по-быстрому у меня никак:D



Добавлено через 29 минут
Цитата Сообщение от semiono Посмотреть сообщение
Дистрибутив NET весит 300Gb
Вы в этом уверены??? может 3 ГБ??? или 300 МБ??? 300 ГБ это же охренеть какая цифра...

Добавлено через 1 час 6 минут
вот самый первый вариант. я им цветовую схему таки сломал... при первом запуске почему-то после окончания работы проги все окна красные... буду копать... ошибку исправил, все работает
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
.386
.model flat,stdcall
option casemap:none
 
RGB macro red,green,blue
    xor     eax,eax
    mov     ah,blue
    shl     eax,8
    mov     ah,green
    mov     al,red
endm
 
GetRValue macro 
    pop eax
    and eax, 0FFh   
EndM
 
GetGValue macro
    pop eax
    and eax, 0FF00h
    shr ax, 8
EndM
 
GetBValue macro
    pop eax
    shr eax, 16
    and ax, 0FFh
EndM
include WINDOWS.INC
include kernel32.inc
include user32.inc
include msvcrt.inc
includelib kernel32.lib
includelib user32.lib
includelib msvcrt.lib
 
FILE_SIZE equ 1000
.data   
    
    message1 db 'Current window color: 0x%x, 0x%x, 0x%x', 13, 10, 0
    message2 db 'Current active caption color: 0x%x, 0x%x, 0x%x', 13, 10, 13, 10, 0
    message3 db 'Window background and active border have been changed', 13, 10 ,\ 
        'Reverting to previous colors in 10 seconds...', 13, 10, 13, 10, 0
    message4 db 'New window color: 0x%x, 0x%x, 0x%x', 13, 10, 0
    message5 db 'New active caption color: 0x%x, 0x%x, 0x%x', 13, 10, 13, 10, 0
    aElements DWORD COLOR_WINDOW, COLOR_ACTIVECAPTION
    oldColor DWORD ?, ?
    newColor DWORD ?, ?
     stdin DWORD         ?  
     stdout DWORD    ?
.code
start:
    invoke GetStdHandle, STD_OUTPUT_HANDLE          
    mov stdout, eax
    invoke GetStdHandle, STD_INPUT_HANDLE
    mov stdin, eax
    
    Invoke GetSysColor, aElements
    mov oldColor, eax
    
    push eax
    push eax
    push eax
    GetRValue
    mov edx, eax
    GetGValue
    mov ecx, eax
    GetBValue
    
    invoke crt_printf, addr message1, edx, ecx, eax             
    
    Invoke GetSysColor, DWORD PTR aElements+4
    mov DWORD PTR oldColor+4, eax
    
    push eax
    push eax
    push eax
    GetRValue
    mov edx, eax
    GetGValue
    mov ecx, eax
    GetBValue
    
    invoke crt_printf, addr message2, edx, ecx, eax
    
    RGB 080h, 080h, 080h
    mov newColor, eax
    RGB 80h, 80h, 80h
    mov DWORD PTR newColor+4, eax
    
    push newColor
    push newColor
    push newColor
    GetRValue
    mov edx, eax
    GetGValue
    mov ecx, eax
    GetBValue
    
    invoke crt_printf, addr message4, edx, ecx, eax 
    
    push DWORD PTR newColor+4
    push DWORD PTR newColor+4
    push DWORD PTR newColor+4
    push newColor
    push newColor
    push newColor
    GetRValue
    mov edx, eax
    GetGValue
    mov ecx, eax
    GetBValue
    
    invoke crt_printf, addr message4, edx, ecx, eax
    
    invoke SetSysColors, 2, addr aElements, addr newColor
    
    invoke crt_printf, addr message3
    invoke Sleep, 10000
    
    invoke SetSysColors, 2, addr aElements, addr oldColor
    invoke crt_getchar                                          
exit:
    invoke ExitProcess, 0                           
end start
1
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
20.02.2013, 23:17 5
сама прога. учтите что это для масма все.
1
Вложения
Тип файла: rar 111.rar (810 байт, 18 просмотров)
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 287
Записей в блоге: 6
21.02.2013, 00:35  [ТС] 6
ОК)

Добавлено через 24 минуты
Fatal Error, зачем консоль, диалоги, только код усложнять, лучше тяпнуть сразу цвет бордюров в зелёный цвет,
когда надо будет сам код лучше переписать, важно только чтобы сработало. Пока не понял, не меняется ничего.
Я могу сразу на Win8(x64) и на XP(x64)проверить.
0
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
21.02.2013, 07:34 7
semiono, Я переписал код из ссылки на масм как и говорил. Вам это вообще для чего нужно?
1
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 287
Записей в блоге: 6
21.02.2013, 14:28  [ТС] 8
Я хотел чтобы бордюры покрасить и другие елементы.
http://s2.ipicture.ru/uploads/20130221/3vsZK2i4.png
0
Troll_Face
603 / 403 / 8
Регистрация: 26.04.2012
Сообщений: 2,069
21.02.2013, 15:05 9
semiono, а зачем на асме то это делать?) ради интересна попробую на дельфях заделать, ато у меня тоже цвета не меняются... только фон папок.
0
semiono
12 / 12 / 0
Регистрация: 14.09.2010
Сообщений: 287
Записей в блоге: 6
21.02.2013, 17:32  [ТС] 10
Ну если готовое решение есть утилита которая настроит цвет, то не важно.
Чтобы собрать полезную вещь и таскать с собой IDE это плохое решение)
Асм рулит! Правда асм тоже знать надо)

В Windows 8 если записать другой шел вместо explorer.exe, пропадает возможность
настроек цвета окон.
Код
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"shell"="blackbox.exe" // bb4win.sourceforge.net
Это как-то регулируется если вручную загрузить тему из файла *.theme,
но толком ещё не понял что к чему там..
0
21.02.2013, 17:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.02.2013, 17:32

FASM WinInet
Решил попробовать написать программу, которая бы выводила первые 1023...

ИГРА FASM
Помогите пожалуйста напишите мне игру на FASM. Надо очень. Игра OpenGL. Спасибо...

компилятор fasm
Просьба,пожалуйста прокомментируйте,что делает компилятор в двух случаях...


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

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

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