Как да получите координати на прозорец, различни от GetWindowRect
По дяволите, момчета, проблем в Windows или нещо друго, не разбирам! На 1 компютър всичко ми работи добре, а именно GetWindowRect връща точните координати на друго приложение, а на друг Windows (и компютър) GetWindowRect неправилно връща координатите, оказва се, че връща клиентската област! Какъв друг начин мога да получа координатите на прозореца на някой друг?
> [0] Wadimka (02.02.09 15:10)на кой друг Windows? и откъде разбра, че "изглежда клиентската зона се връща"? в сравнение с GetClientRect?
На XP на моя компютър има два Windows, SP2 и SP3, всичко работи добре както на GetWindowRect, така и на друг компютър, където е инсталиран SP2, но в хода на друго асемблиране връща клиентската част. Е, конкретно не го сравнях с GetClientRect, просто ако плъзна ръчно програмата в горния ляв ъгъл, тогава координатата на прозореца X 1, Y 22 на някакъв вид хрян sh се връща, дори ако зададете координатата на прозореца на позиция 0, тогава тя става визуално на екрана на 1,22, докато GetWindowRect връща, че координатата е 0,0
> ако зададете координатата на прозореца на позиция 0
Имате предвид чрез извикване на MoveWindow()?
И колко си сигурен в това
1. Прозорецът, който представлява интерес, е прозорец от най-високо ниво 2. Растерното изобразяване е наред
Да, всичко е наред с всичко, защото работи на един компютър, но на някои не работи! и дори променям xs координатата SetWindowPos (HANDLE_WND, HWND_TOP, 0,0,0,0, SWP_NOSIZE); всичко работи на тези компютри и прозорецът е настроен на 0 позиция. Дори не знам как да разреша този проклет бъг!
И там лентата на задачите не е отгоре? )
Мамка му, не с лентата на задачите всичко е червата. не е въпросът Изобщо не мога да разбера зависимостите. Трябва ми точно от този прозорец, точно до пикселавземете изображение всички координати, от които се нуждая, са регистрирани спрямо този прозорец. Ако ръчно сложа прозореца в най -горния ъгъл с мишката, координатата му показва 0, -21, въпреки че определено е на 0,0 теоретично, би било възможно просто да се постави корекция по тази координата Y, просто добавете това число 21, но по някаква причина всичко се измества от 7 единици, а не на 21. Други са такива глупости. По никакъв начин не мога да определя зависимостта. Шо за глупости нещо?
МИГВАШ, ЧЕРНИШ ли, клоун? Бяха ти зададени два много конкретни въпроса. Моля, отговори на тях, ако наистина се интересуваш от решаването на „проблема“
Добър вечер, Сергей М. ти каза:
> 2. Растерното изобразяване е добро
Можете ли да поясните как това може да повлияе на резултатите от функцията GetWindowRect()?
Ако горният ляв ъгъл на прозореца е подравнен ръчно с горния ляв ъгъл на растера, видим на монитора, това не означава, че горният ляв ъгъл на преместения прозорец съвпада с горния ляв ъгъл на прозореца на работния плот.
Мдя. съжалявам, че не запазих клона, преди промените на клоуни като обеци и т.н. Вече съм решил всичко без помощта на клоуни, които отказват думите си с подкрепата на администраторите на този форум.
> Wadimka (02/05/09 19:50) [10] > > Мдя. съжалявам, че не запазих темата преди.Запазете го сега! Ще има какво да си спомняте по-късно със срам. По-късно, когато името ви няма да бъде Вадимка, а Вадим XXXchem или дори чичо Вадим. И не казвайте без аргументи, че всичко това "не е правилно", докато вие самитезнаете точния отговор.> Вече реших всичко без помощНо вие 100% лъжете! 99,8% от хората, които са решили въпрос, който са задали във форум, определено биха обяснили как са го решили и какъв е проблемът. От останалите 0.2% половината са тези, които реално решават, но не им пука за самия форум. Затова щяха да си мълчат и изобщо да не се връщат във форума в тази тема. Ти не си от тези. Върнахте се да "разливате кал". Другата половина от останалите мълчи, защото тя реши въпроса, но толкова криво, че я е срам да си го признае. И много често този контингент е от категорията на "незрелите" (извинявам се за самия термин, но значението е абсолютно същото).
Е, как реших въпроса? И как мога да пиша тук? НЕ СЪМ РЕШИЛ проблема с несъответствието на резултатите от GetWindowRect() , но го реших само за моя случай. което не е необходимо да се описва тук, т.к въпросът в темата беше точно >>>Как да получа координати на прозорец, различни от GetWindowRect? Никой не отговори на този въпрос
така че отговорът на този въпрос остава открит. (и реших проблема си, но това не се отнася за този въпрос, така че този въпрос е отворен)
и имаше и въпрос номер 1 от Сергей М.