Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.027 c
14-92662
ZZ
2002-10-06 19:11
2002.10.28
Как создать атомную бомбу


6-92630
FATman
2002-08-27 23:02
2002.10.28
Как понять я уже в инете или еще нет?


3-92359
volph777
2002-10-07 15:41
2002.10.28
Как узнать текущую дату в InterBase SQL-запросе?


14-92647
glina
2002-10-06 11:19
2002.10.28
Кто-нибудь слышал о Delphi 7?


4-92799
DeMoN-777
2002-09-16 10:14
2002.10.28
Програмное нажатие кнопки в чужом окне





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский