|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Есть у меня прием поиска hwnd нужного окна через EnumWindows. 1) Поиск по шапке окна 2) Для проверки скрытая кнопка (child этого окна) с хитрым к примеру .Text="blabla-bla qwertyuio" (ибо только первое не очень надежно) Дык вот кидаю эту Button на Form, делаю ей Visible=False, запускаю, ищу окно с кнопкой - не находит . Т.е. окно кнопки в .Net не создается, пока она невидима? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:00 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77, да. Через Spy++ можно убедиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:16 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
bazileЧерез Spy++ можно убедиться. Да и без Spy++ чутье подсказало что это так. Ну тода. В-1 "Обманываем" Код: vbnet 1. 2. 3.
В-2 "Культурный" Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:43 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77, зачем это всё? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 11:46 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
hVostt, Я ж сказал зачем. >Есть у меня прием поиска hwnd нужного окна через EnumWindows. Например, чтоб его закрыть. Или послать ему сообщение. Окно свое, но другое. Другой exe. Поиск "только по шапке" ненадежен, надежна дополнительная проверка, коей как вариант может быть проверка наличия дочерней кнопки с надписью которую нарочно не придумаешь. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:02 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77hVostt, Я ж сказал зачем. >Есть у меня прием поиска hwnd нужного окна через EnumWindows. Например, чтоб его закрыть. Или послать ему сообщение. Окно свое, но другое. Другой exe. Поиск "только по шапке" ненадежен, надежна дополнительная проверка, коей как вариант может быть проверка наличия дочерней кнопки с надписью которую нарочно не придумаешь. Не вижу никакого смысла в подобном извращении. Лучше один разок освоить WCF, чем так знатно ипстись. Ну только если нет мазохистских наклонностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:14 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
hVosttДмитрий77hVostt, Я ж сказал зачем. >Есть у меня прием поиска hwnd нужного окна через EnumWindows. Например, чтоб его закрыть. Или послать ему сообщение. Окно свое, но другое. Другой exe. Поиск "только по шапке" ненадежен, надежна дополнительная проверка, коей как вариант может быть проверка наличия дочерней кнопки с надписью которую нарочно не придумаешь. Не вижу никакого смысла в подобном извращении. Лучше один разок освоить WCF, чем так знатно ипстись. Ну только если нет мазохистских наклонностей.куда ж тя понесло? человек пока азы .НЕТ-а старается осилить, да ещё и на VB, а ты ему WCF! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 12:50 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
>человек пока азы .НЕТ-а старается осилить, да ещё и на VB пытается-старается...человек нормально все осиливает в рабочем порядке, все хорошо. >, а ты ему WCF! ну да, давайте не отвлекаться API-коды опять не понравились? Код создания кнопки через CreateWindowEx для меня не новый. Даже придумал как из .Net извратиться - просто показать в конструкторе, потом скрыть в Load. И даже не сказал, что мне так не нравится. В VB6 кнопка кстати сразу hwnd имеет. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 13:22 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77Например, чтоб его закрыть. Или послать ему сообщение. Окно свое, но другое. Другой exe. Если оба приложения свои (или два экземпляра одного и того же?), то не лучше ли изначально предусмотреть возможность обмена сообщениями между ними? Пайпы там, или тот же WCF. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:00 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77API-коды опять не понравились? Код создания кнопки через CreateWindowEx для меня не новый. Даже придумал как из .Net извратиться - просто показать в конструкторе, потом скрыть в Load. И даже не сказал, что мне так не нравится. В VB6 кнопка кстати сразу hwnd имеет. А нафига вообще подобной фигнёй заниматься? Чисто исключительно ради того, чтобы лишний раз винапи подёргать? Просто не вижу смысла. Задача решается через пайпы/WCF, для простейшей коммуникации (послать сигнал, например, на закрытие) кода в несколько строчек, вместо анальных сношений с поисками окон и размещения кнопки. П.С. Мой знакомый «программист» как-то вместо того, что разобраться как форматировать текстовый файл отчёта с помощью скрипта, сделал макрос в FAR-е, повесил на горячие клавиши, а затем открывал файл, зажимал эти клавиши чем-нибудь тяжёлым и макрос «работал». И делал так до тех пор, пока не накосячил и не получил по шапке. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:17 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
skyANAкуда ж тя понесло? человек пока азы .НЕТ-а старается осилить, да ещё и на VB, а ты ему WCF! ну чего ты опять начинаешь ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:19 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
hVostt, это же очень просто, есть бальзаковские конторы где з.п. идет со строчки написанного кода.. зы. ругать таппера незя, он играет как умеет.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:23 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
не помогут тут ему пайпы , он пытается кликнуть на кнопку в чужом приложении ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:24 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Где-то в степиhVostt, это же очень просто, есть бальзаковские конторы где з.п. идет со строчки написанного кода.. зы. ругать таппера незя, он играет как умеет.. От интереса распирает, зачем такой тупой подход нужен при наличии кучи адекватных способов решения простейшей задачи. И гуглится же легко и непринуждённо, был бы интерес. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:27 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Konst_Oneне помогут тут ему пайпы , он пытается кликнуть на кнопку в чужом приложении Он размещает кнопку в окне, которое собирается «найти». Копетан очевидности передаёт привет ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:28 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
hVosttKonst_Oneне помогут тут ему пайпы , он пытается кликнуть на кнопку в чужом приложении Он размещает кнопку в окне, которое собирается «найти». Копетан очевидности передаёт привет зачем интересно это нужно? портить чужое приложение своей кнопкой ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:30 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Konst_Oneзачем интересно это нужно? портить чужое приложение своей кнопкой Об этом и речь. Со своей кнопкой в чужую программу не лезь! ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:34 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
hVostt, ну неужели не понятно, что человек застрял на уровне "С", и застрял в радикальной форме (нигелирование других языковых культур) Хотя есть масса примеров полиглотов ( в лучшем понимании этого слова), любое изучение дополнительного языка должно начинаться с целей и задачей этого языка а не с хотеллок.. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 14:40 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Зачем кнопка нужна? Здесь: Как ТОЧНО и БЕЗОШИБОЧНО узнать hwndTarget целевого окна? Я не понимаю, куда вас всех так несет? Вопрос был простой. авторА в .Net у Button .Handle=0 если она изначально .Visible=False? Ответ был во втором посте. bazileДмитрий77, да. Ну написал я как решил проблему, написал пару слов зачем... и понеслось. Пиши на C++, застрял на уровне "С", один разок освоить WCF пайпы,обмен сообщениями, мазохизм... нафига столько рассуждений не по теме вопроса? .... >з.п. идет со строчки написанного кода.. нет, мне никто не платит за строчки кода ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 15:11 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77нафига столько рассуждений не по теме вопроса? Мы так развлекаемся. Вы же не оплачиваете услуги интернет-консультантов? А какой еще может быть стимул отвечать на вопрос, кроме желания выпендриться? Так что не обижайтесь. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 15:18 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
Дмитрий77Ну написал я как решил проблему, написал пару слов зачем... и понеслось. Пиши на C++, застрял на уровне "С", один разок освоить WCF пайпы,обмен сообщениями, мазохизм... нафига столько рассуждений не по теме вопроса? Я вообще-то поинтересовался, зачем понадобилось так извращаться. Интересно же. Но если не хочешь отвечать, не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 15:41 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
hVostt, я ж ответил выше. Дмитрий77Зачем кнопка нужна? Здесь: Как ТОЧНО и БЕЗОШИБОЧНО узнать hwndTarget целевого окна? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 15:54 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
да уж... ну ведь копаешься же с WinAPI на хорошем уровне, ну так почитай про IPC ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 16:00 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
хоть с семафора начни ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 16:00 |
|
А в .Net у Button .Handle=0 если она изначально .Visible=False?
|
|||
---|---|---|---|
#18+
А в .Net у Button .Handle=0 если она изначально .Visible=False? Прочел тему, подумалось: а не Дмитрий ли ее создал, уж больно она извращенная. Оказалось, не ошибся... Вам же правильно уже сказали, стандартная функциональность межпроцессного взаимодействия - через WCF. Можете извратиться и сделать через named pipes, shared memory, com-сервера. Ничем не хуже поиска по тексту в кнопке на форме. Кстати, а вы проверяли, ваш EnumWindows ищет формы, открытые в рамках других сеансов? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.01.2015, 16:07 |
|
|
start [/forum/topic.php?fid=20&msg=38853317&tid=1402030]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 157ms |
0 / 0 |