Привет Люди, подскажите плиз как мона изменить програмно (с помощью Delphi) вид кнопки меню Пуск. Нашел один способ с помощью которого это можно сделать, но он работает только под Windows 9x, вот код: Code: procedure TForm1.FormCreate(Sender: TObject); begin StartBtnWnd:=FindWindow('Shell_TrayWnd', nil); StartBtnBmp:=FindWindowEx(StartBtnWnd, 0, 'Button', nil); end; procedure TForm1.Button1Click(Sender: TObject); begin SendMessage(StartBtnBmp, BM_SetImage, 0, Image1.Picture.Bitmap.Handle); end; Большая просьба отвечать только по теме и ответы типа "ресторатор в руки" прошу оставить при себе, не знаете - не пишите, извиняюсь за грубость просто уже достали тупыми ответами и флудом. Заранее благадарю. p.s. если реально поможежете обещаю +
Нашел пример в Delphi Russian Knowledge Base form Vit Code: Пример из серии "Что можно сделать с рабочим столом". В общем, это обычный трюк с кнопкой "Пуск" (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; PS: Еще тут посматри...
кнопка пус это ваще то картинка. создай какой нить Bitmap, на кнопку, учитывая размеры Сначала объявви глобальные переменные Затем опиши событие по создания окна [OnCreate]: Если сделаешь это на своей машине, то можете всё восстанавливать по событию OnDestroy:
Чё вы один и то-же код в разном форматировании копипастите, если не понятно что это одно и тоже, то нечего постить!
а что именно ты там не понял?, сажи я расшифрую знаю знаю что одно и тоже, из вежливости не стал просто концентрировать на этом внимание, пусть почуствует себя умным
Народ, вообщето если мне не изменяет память, то в XP кнопка пуск чуток отличается от 9x и с ней нельзя работать как в 9x. она имеет клас Button. поэтому чтобы сменить текст на ней, надо просто послать сообщение WM_SETTEXT Поэтому нужно шагать от сюда Зато есть другая возможность - наложить поверх неё чтонить еще типа постоянно на канвасе рисовать своё чтонить или вообще передвинуть её, чтобы не мешала
Да. Code: MoveWindow(FindWindowEx(FindWindow('Shell_TrayWnd', nil), 0, 'Button', nil),300, 0, 80, 22, true); Code: s := FindWindow('Shell_TrayWnd',nil); b := FindWindowEx(s,0,'button',nil); SetWindowText(b,'[color=Red][b]Действие АРАБЕСКИ[/b][/color]'); SendMessage(b,WM_MOUSEMOVE,1,1);