Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.28;
Скачать: CL | DM;

Вниз

Как поменять название кнопки   Найти похожие ветки 

 
Denvor ©   (2002-09-17 01:06) [0]

Вот в поиске нашёл примерчик снятия хэндла с кнопки Пуск, но он у меня не заработал:
procedure TForm1.Button5Click(Sender: TObject);
var
ClassName : array[0..255] of char;
Wnd, Child : HWnd;
begin
Wnd := Windows.FindWindow("Shell_TrayWnd", "");
if Wnd <> 0 then begin
Child := GetWindow(Wnd, GW_CHILD);
repeat
GetClassName(Child, ClassName, 255);
if StrPas(ClassName) = "Button" then begin
ShowWindow(Child, SW_HIDE); Break
end else
Child := GetWindow(Wnd, GW_HWNDNEXT);
until Child = 0
end
end;
Что интересно, так Wnd := Windows.FindWindow("Shell_TrayWnd", ""); вообще ничего не возвращает. А описания "Shell_TrayWnd"я не нашёл ни в MSDN е, ни в энциклопедии по API.


 
Diamond Cat ©   (2002-09-17 01:26) [1]

скорей всего это должно выглядеть так
procedure TForm1.Button5Click(Sender: TObject);
var
ClassName : array[0..255] of char;
Wnd, Child : HWnd;
begin
Wnd := FindWindow("Shell_TrayWnd", nil);
if Wnd <> 0 then begin
Child := GetWindow(Wnd, GW_CHILD);
repeat
GetClassName(Child, ClassName, sizeof(classname));
if StrPas(ClassName) = "Button" then begin
ShowWindow(Child, SW_HIDE);
Break
end else
Child := GetWindow(Wnd, GW_HWNDNEXT);
until Child <> 0
end
end;
И если я не ошибаюсь то кнопка пуск не содержит текста, на ней валяется рисунок, соответственно заменить его можно через Fillrect или попроще и опустив всю волокиту с преведенным выше текстом
var
im:Tbitmap;
begin
im.LoadFromFile("start.bmp")
sendmessage( FindWindowEx(FindWindow("Shell_TrayWnd",nil),0,"Button", nil),BM_SetImage,IMAGE_BITMAP,im.Handle);

соответственно для начала надо создать рисунок start.bmp, и положить его в туже дир-ю что и исполняемый файл
могу поделиться рабочей прогаммой


 
Song ©   (2002-09-17 09:17) [2]

2Diamond Cat © (17.09.02 01:26)
Всё правильно, FindWindow() идёт по ссылке из windows.dcu


 
Denvor ©   (2002-09-17 11:24) [3]

Прикиньте, Бэйсик так глючит в сфере ВинАпи!
Перевёл аналог. процедуру из Делфы на Висик, так Хэндл Систем Трэй ВНД он находит, а хэндл ПУСКА - нет, а в делфи всё Ок!



Страницы: 1 вся ветка

Текущий архив: 2002.10.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
1-92471
theEnter
2002-10-18 10:26
2002.10.28
DBGrid - несколько строк в заголовке


1-92483
vlv
2002-10-18 11:05
2002.10.28
Как лучше использовать Delphi-компонент в MS Visual C++ ?


1-92432
Senka
2002-10-17 17:16
2002.10.28
QReport - описание процедур.


1-92448
Sego
2002-10-15 14:46
2002.10.28
Twebbrowser ?


14-92728
werr
2002-10-09 09:30
2002.10.28
USB 2.0, 1.1, 1.0