Главная страница
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.016 c
4-75047
Danger
2002-11-10 23:00
2002.12.23
Не могу поставить компоненту


8-74846
HydraMarat
2002-09-06 01:42
2002.12.23
Цветовые модели и между ними


14-74957
Yuri Btr
2002-12-02 10:48
2002.12.23
Запись в реестр загружаемых значений для всех пользователей


14-74976
DanIQ
2002-11-30 07:30
2002.12.23
Scroll Lock


1-74750
john
2002-12-14 22:05
2002.12.23
Прозрачный textout ?