Головна сторінка
Top.Mail.Ru Яндекс.Метрика
Форум: "Система";
Поточний архів: 2002.12.23;
Завантажити: [xml.tar.bz2];

Вниз

Як отримати ідентифікатор вікна кнопки Знайти схожі гілки


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]

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

було
Wnd: hWnd;

починати
Wnd: = FindWindow ( "Shell_TrayWnd", nil);
Wnd: = FindWindowEx (Wnd, HWND (0), "Button", nil);
ShowWindow(Wnd, SW_show);
//ShowWindow(Wnd, SW_hide);


end.


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

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

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


MWStruct:=BeginDeferWindowPos(1); /указываем количество окон которые собираемся двигать
l:=3;h:=3;
if Pointer(MWStruct)<>nil then
починати
while (true) do
починати
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;
Завантажити: [xml.tar.bz2];

наверх









Пам'ять: 0.57 MB
Час: 0.026 c
1-74842
olookin
2002-12-12 11:05
2002.12.23
дужки


3-74604
Mixvictor
2002-12-04 22:29
2002.12.23
Поставте фільтр ласка


1-74715
Альфред
2002-12-12 11:36
2002.12.23
Як вийти з циклу після натискання клавіші


6-74865
MK
2002-10-20 19:02
2002.12.23
IP в доменне ім'я


1-74781
Непоседа
2002-12-11 11:59
2002.12.23
Функція визначена користувачем.





африкаанс албанський арабська вірменин азербайджанець баскський білоруський болгарська каталонський Китайська (спрощене письмо) Китайський традиційний) хорватський чеська данську мову нідерландський Ukranian естонець Філіппінська фінську мову французький
галісійська грузинський німецький грецький гаїтянський креольський давньоєврейську хінді угорський ісландський індонезієць ірландський італійський японський корейський латиська литовець македонець малайський мальтійський норвежець
перс полірування португальська румунський російська сербський словацький словенський іспанська суахілі шведську мову тайський турецька український урду в'єтнамський валлійський ідиш бенгальський боснійський
кебуано есперанто гуджараті хауса хмонг ігбо яванський каннада кхмерская Лао латинь маорі маратхі монгольський непальська панджабі сомалійський тамільська телугу йоруба
зулуський
Англійська Французький Німецький Італійський Португальська Русский Іспанська