Головна сторінка
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.56 MB
Час: 0.027 c
6-74877
Romych
2002-10-24 12:26
2002.12.23
Вибачте що питання трохи не в тему UDP


1-74760
msdn1
2002-12-10 22:58
2002.12.23
Da tema


7-74999
dimod
2002-10-17 17:52
2002.12.23
Модифікація системної дати / часу


6-74866
Kalishenko
2002-10-28 20:42
2002.12.23
Список IP-адрес в мережі


14-74900
Vopros
2002-12-03 17:15
2002.12.23
Як ви розслабляєтеся ввечері, після роботи?





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