Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.09.2007, 15:13   #1
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию Кнопка Пуск

кто нибудь знает как заменить кнопку пуск
вот мой код:

{ объявляем глобальные переменные }

var
Form1: TForm1;
StartButton: hWnd;
OldBitmap: THandle;
NewImage: TPicture;

{ добавляем следующий код в событие формы OnCreate }

procedure TForm1.FormCreate(Sender: TObject);
begin
NewImage := TPicture.create;
NewImage.LoadFromFile('C:\Windows\Circles.BMP');
StartButton := FindWindowEx
(FindWindow(
'Shell_TrayWnd', nil),
0,'Button', nil);
OldBitmap := SendMessage(StartButton,
BM_SetImage, 0,
NewImage.Bitmap.Handle);
end;

{ Событие OnDestroy }

procedure TForm1.FormDestroy(Sender: TObject);
begin
SendMessage(StartButton,BM_SetImage ,0,OldBitmap);
NewImage.Free;
end;
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 03.09.2007, 15:18   #2
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Если у тебя XP то в нём вроде нельзя поменять изображение
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 03.09.2007, 15:42   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Сообщение от Showy Посмотреть сообщение
Если у тебя XP то в нём вроде нельзя поменять изображение
Можно : http://www.vr-online.ru/topic.php?id...89359358#66693
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 03.09.2007, 15:56   #4
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

это я там вопрос задал
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 03.09.2007, 20:23   #5
Showy
Форумчанин Подтвердите свой е-майл
 
Аватар для Showy
 
Регистрация: 08.08.2007
Сообщений: 183
По умолчанию

Значит можно
Until The End Of Time
Showy вне форума Ответить с цитированием
Старый 03.09.2007, 20:39   #6
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

можно но при наведении исчезает
делаю таймер с интервалом 1 все равно на мгновение исчезает
делаю цикл while true do begin комп виснет
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 04.09.2007, 09:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Хук можеш поставить или заменить оконную процедуру кнопки.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.09.2007, 17:38   #8
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

на что и как хук
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Старый 05.09.2007, 08:07   #9
Трофимов Александр
Форумчанин
 
Аватар для Трофимов Александр
 
Регистрация: 03.11.2006
Сообщений: 321
По умолчанию

Пример из серии "Что можно сделать с рабочим столом". В общем, это обычный трюк с кнопкой "Пуск" (Start).
Код:
{ объявляем глобальные переменные }
var
Form1: TForm1; 
StartButton: hWnd; 
OldBitmap: THandle; 
NewImage: TPicture; 
 
{ добавляем следующий код в событие формы OnCreate }
 
procedure TForm1.FormCreate(Sender: TObject); 
begin
NewImage := TPicture.create; 
NewImage.LoadFromFile('C:\Windows\Circles.BMP'); 
StartButton := FindWindowEx 
(FindWindow( 
'Shell_TrayWnd', nil), 
0,'Button', nil); 
OldBitmap := SendMessage(StartButton, 
BM_SetImage, 0, 
NewImage.Bitmap.Handle); 
end; 
 
{ Событие OnDestroy }
 
procedure TForm1.FormDestroy(Sender: TObject); 
begin
SendMessage(StartButton,BM_SetImage,0,OldBitmap); 
NewImage.Free; 
end;
Взято с Исходников.ru http://www.sources.ru

Последний раз редактировалось Трофимов Александр; 05.09.2007 в 08:11.
Трофимов Александр вне форума Ответить с цитированием
Старый 05.09.2007, 08:20   #10
vitalik007
Дельфист
Форумчанин
 
Аватар для vitalik007
 
Регистрация: 14.08.2007
Сообщений: 317
По умолчанию

Цитата:
Сообщение от Трофимов Александр Посмотреть сообщение
Пример из серии "Что можно сделать с рабочим столом". В общем, это обычный трюк с кнопкой "Пуск" (Start).
Код:
{ объявляем глобальные переменные }
var
Form1: TForm1; 
StartButton: hWnd; 
OldBitmap: THandle; 
NewImage: TPicture; 
 
{ добавляем следующий код в событие формы OnCreate }
 
procedure TForm1.FormCreate(Sender: TObject); 
begin
NewImage := TPicture.create; 
NewImage.LoadFromFile('C:\Windows\Circles.BMP'); 
StartButton := FindWindowEx 
(FindWindow( 
'Shell_TrayWnd', nil), 
0,'Button', nil); 
OldBitmap := SendMessage(StartButton, 
BM_SetImage, 0, 
NewImage.Bitmap.Handle); 
end; 
 
{ Событие OnDestroy }
 
procedure TForm1.FormDestroy(Sender: TObject); 
begin
SendMessage(StartButton,BM_SetImage,0,OldBitmap); 
NewImage.Free; 
end;
Взято с Исходников.ru http://www.sources.ru
зачем переписывать что я написал
ICQ-465033557
WINDOWS CE THE BEST
vitalik007 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Caption кнопки ПУСК (START) - изменить надпись на кнопке Пуск в Windows XP Altera Win Api 19 29.12.2011 15:49
Кнопка пуск Черничный Общие вопросы Delphi 2 07.08.2008 08:30
Пуск Rahim1993 Общие вопросы Delphi 4 10.02.2008 20:14
аналог меню пуск RammFan Общие вопросы Delphi 14 27.02.2007 08:49