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

Вниз

Как получить идентификатор окна кнопки   Найти похожие ветки 

 
turonix ©   (2002-10-17 13:01) [0]

Как получить идентификатор окна кнопки "Пуск" и "taskbar"


 
Игорь Шевченко ©   (2002-10-17 13:19) [1]

FindWindow


 
Rustam_Katana   (2002-10-17 13:21) [2]

Точно не помню, но было можно получить handle через
FindWindow("здесь не помню слово волшебное было","") и все, потом работаешь, как с обычным окном...
Поищу, если найду, то скину


 
Song ©   (2002-10-17 14:25) [3]

Волшебное слово Shell_TrayWnd


 
turonix ©   (2002-10-17 23:37) [4]

я реализовал программу следующим образом:

var
Wnd:hWnd;

begin
Wnd := FindWindow("Shell_TrayWnd", nil);
Wnd := FindWindowEx(Wnd, HWND(0),"Button", nil);
ShowWindow(Wnd, SW_show);
//ShowWindow(Wnd, SW_hide);


end.


ОДНАКО я не понимаю двух вещей! Когда программу гонишь по шагам
она не работает: не хочет прятать кнопку, при этом если ее запустить (хотя бы F9) то все нормально. Еще когда ее гонишь по шагам то значения Wnd равно 0 ,а это значит, что идентификатор окна не найден ???? что за бред???

Вообще я хочу заставить это кнопку прыгать по экрану. Но пока данный код работать не хочет, кнопка только пропадает, а изменять свои координаты не хочет.

var
StartButtonWnd,StartButtonBmp:THandle;
i,l,h:integer;
WRct:TRect;
MWStruct:HDWP;
w:THandle;
begin
StartButtonWnd:=FindWindow("Shell_TrayWnd", nil); //получили идентификатор окна панели задач
StartButtonBmp:=FindWindowEx(StartButtonWnd,HWND(0),"Button", nil); //получили идентификатор кнопки "Пуск"


MWStruct:=BeginDeferWindowPos(1); /указываем количество окон которые собираемся двигать
l:=3;h:=3;
if Pointer(MWStruct)<>nil then
begin
while (true) do
begin
GetWindowRect(THandle(StartButtonBmp),WRct); //считывает размеры передвигаемого окна и помещает в WRct
MWStruct:=DeferWindowPos(MWStruct,THandle(StartButtonBmp),HWND_BOTTOM,
WRct.Left+i,WRct.Top,WRct.Right-WRct.Left,
WRct.Bottom-WRct.Top,SWP_NOACTIVATE or SWP_NOZORDER); //задаем новые координаты окна
if WRct.Top<0 then h:=-3;
if WRct.Top>743 then h:=3;
if WRct.left<1 then l:=3;
if WRct.left>968 then l:=-3;

EndDeferWindowPos(MWStruct); //производим сдвиг

//создание пауз
w:=CreateEvent(nil,true,false,"");
WaitForSingleObject(w,10000);
//CloseHandle(w);
end;
end;
//CloseHandle(w);




end.



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

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

Наверх




Память: 0.48 MB
Время: 0.012 c
1-74649
Витьок
2002-12-12 17:34
2002.12.23
Help!!!


14-74981
Romychk
2002-11-29 11:32
2002.12.23
Вирусы


1-74728
Netcoder
2002-12-13 08:12
2002.12.23
Перевод TColor в HEX


3-74584
ev1972
2002-12-04 16:03
2002.12.23
Как модифицировать структуру таблицы в Delphi?


4-75034
bent
2002-11-09 09:22
2002.12.23
Как узнать кодировку файла?