|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | ||||
| 
 | ||||
|  Прозрачность для всех окон Как можно установить прозрачность для всех окон? Мне кажется, что нужно отправлять какое-то сообщение, но я не знаю, какое. И как получить все HWND? | 
| 
			 
			#2  
			
			
			
			
		 | ||||
| 
 | ||||
|   в книге Фленова "делфи глазами хакера" есть примеры работы с чужими окнами, а именно: - заменить ВО ВСЕХ окнах текст на свой; - сделать ПРОЗРАЧНЫМ ЧУЖОЕ ОКНО; з.ы.: в чем проблема совместить эти два примера? з.з.ы.: когда будешь делать окошки в системе прозрачными, не забудь исключить из списка хендл рабочего стола, панели задач и меню пуск, иначе будут глюки  кто ищет, тот находит! | 
| 
			 
			#3  
			
			
			
			
		 | |||
| 
 | |||
|   В Object Inspector: AlphaBlend := true и далее код: Код: var
h: THandle;
function InvisibleWindows(Wnd: HWND): BOOL; stdcall;
var
old: Longint;
begin
try
old:=GetWindowLongA(wnd, GWL_EXSTYLE);
SetWindowLongA(wnd, GWL_EXSTYLE, old or $80000);
SetLayeredWindowAttributes(wnd, 0, {нужное значение от 0 до 255}, $2);
except
end;
InvalidateRect(wnd, nil, True);
Result:=True;
end;
begin
while not Application.Terminated do
try
EnumWindows(@InvisibleWindows, 0);
h:=CreateEvent(nil, True, False, '');
CloseHandle(h);
Application.ProcessMessages;
except
end;
end;подключи TrackBar или еще ченить и тогда управлять сможешь всем... Последний раз редактировалось Admin, 20.04.2009 в 20:53. | 
| 
			 
			#4  
			
			
			
			
		 | ||||
| 
 | ||||
|   Ну ты и приколист! =) Я свой код узнаю. И еще, вот это зачем - AlphaBlend:=true? | 
| 
			 
			#5  
			
			
			
			
		 | |||
| 
 | |||
|   Цитата: 
 AlphaBlend := true - надо чтобы ненагружать программу одним лишним процессом..  | 
| 
			 
			#6  
			
			
			
			
		 | ||||
| 
 | ||||
|   С чего бы это вдруг? =) | 
| 
			 
			#7  
			
			
			
			
		 | |||
| 
 | |||
|   Ну ведь он сжирает 32 байта оперативной памяти))) К тому же округляется под системой до 4х килобайт) вдруг комуто эти 4 кб оперативки очень нужны) вдруг у когото оперативка старая))) | 
| 
			 
			#8  
			
			
			
			
		 | ||||
| 
 | ||||
|   Тут я свой исходничек по этой теме выложил http://www.delphisources.ru/pages/so...a-channel.html | 
| 
			 
			#9  
			
			
			
			
		 | ||||
| 
 | ||||
|   Че париться и писать длинный код. AlphaBlend:=true; AlphaBlendValue:=100; |