Главная страница
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.022 c
1-92550
Destroyer
2002-10-16 13:37
2002.10.28
VarArrayCreate


1-92571
Fog
2002-10-16 20:34
2002.10.28
Сканирование каталога...


14-92715
Aleksandr
2002-10-08 18:02
2002.10.28
Никто QuickReport под Делфи 7 не пытался присобачить?


3-92375
PAVELsinicinV
2002-09-29 20:27
2002.10.28
Добавить ещё один столбец в существующую таблицу ...


14-92717
Anatoly Podgoretsky
2002-10-04 09:26
2002.10.28
С днем рождения Павел Озерский