Изменение значка кнопки Пуск

Тема в разделе "Delphi", создана пользователем WinHack, 27 ноя 2016.

  1. WinHack
    Показывается, как изменить изображение на кнопке Пуск (Start) Windows:

    Код:
    { Нужно несколько глобальных переменных }
    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;