Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хитрые окошки / 25 сообщений из 34, страница 1 из 2
14.12.2011, 21:28
    #37576411
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
задача - спрятать все окна, которые появляются после программного открытия чужой проги. мои эксперименты: прятал окно по hwnd, полученному из shell, но хитрые окна всё равно появлялись. пытался найти зависимые окна, но hwnd = GetWindow(hwndik, GW_CHILD) возвращает 0. приходится прятать окна по заглавию окна, если окошки попадают в фокус. но это не совсем правильно, т.к. окна могут и не получить фокус, а если даже сразу получат, то успевают меелькнуть перед пользователем. в идеале нужно как-то получить хендлы всех окошек, зная хендл, полученный из shell. сами мы не местные, помогите кто чем может...
...
Рейтинг: 0 / 0
14.12.2011, 21:43
    #37576429
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
прятал окно по hwnd, полученному из shellСто раз уже объясняли, что shell возвращает process id, а не hwnd.
...
Рейтинг: 0 / 0
14.12.2011, 21:52
    #37576445
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Antonariy,

ясн... как зная проц ай ди узна хвнд его окон?
...
Рейтинг: 0 / 0
14.12.2011, 22:10
    #37576468
хитрые окошки
когда мы нажимаем ctrl+alt+delete
или видим запрос на подтверждение выдаваемый UAC
или когда переключаемся на другого пользователя при этом не завершая сеанс текущего пользователя (фича начиная с хр)
то мы выдим не просто новое окно поверх других окон

а новый десктоп
есть системный механизм который позволяет управлять десктопами
не помню точно как называется что-то типа WorkstationDesktop WindowsDesktop
так вот может его можно использовать
...
Рейтинг: 0 / 0
14.12.2011, 22:15
    #37576473
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
системный вызов,

эм... мне бы простенькую функцию по нахождению хендла из процайпи....
...
Рейтинг: 0 / 0
14.12.2011, 22:29
    #37576488
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
вот что откопал... C++ как всегда впереди планеты всей...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
HANDLE hWnd = ::GetTopWindow(0);
HANDLE WindowHandle = NULL;
while(hWnd)
{
    DWORD pid;
    DWORD dwTheardId = ::GetWindowThreadProcessId(hWnd, &pid);

    if(pid == cpid) // your process id;
    {
        WindowHandle = hWnd;
        break;
    }
    Sleep(100);
    hWnd = ::GetNextWindow(hWnd, GW_HWNDNEXT);


осталось тока перевести) как-то...
...
Рейтинг: 0 / 0
14.12.2011, 22:42
    #37576506
хитрые окошки
зачем-то в процедуре Sleep сделан
окон даже верхнего уровня хватает так что никакой Sleep не нужен
...
Рейтинг: 0 / 0
14.12.2011, 22:57
    #37576521
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
BelowZeroосталось тока перевести) как-то...
Как искать VB-объявления api-функций, которых нет в API Text Viewer'e
Для тех, кто не знает что такое API Text Viewer
Далее...
Код: plaintext
HANDLE hWnd = ::GetTopWindow(0);
Первое слово — тип, аналог в VB - long; второе — название переменной; "= ::" — присвоение; GetTopWindow — апи-функция (где находится яндекс уже должен бы знать).

Что непонятно во второй строчке?
Что непонятно в третьей строчке?
...
Что непонятно в n-й строчке?
...
Рейтинг: 0 / 0
15.12.2011, 11:29
    #37577069
Игорь Горбонос
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
> Автор: Antonariy
> Далее...
> "= ::" — присвоение;

Присвоение только знак равенства, а два двоеточия - квалификатор глобальной области видимости функции GetTopWindow. Это
в дельфях присвоение =:
;-)

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
15.12.2011, 13:42
    #37577475
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Игорь Горбонос,

В рамках перевода — не важно))
...
Рейтинг: 0 / 0
15.12.2011, 14:33
    #37577637
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Код: vbnet
1.
HANDLE hWnd = ::GetTopWindow(0);

возвращается хвнд активного окна... это то, чтоя делал до этого BelowZeroприходится прятать окна по заглавию окна, если окошки попадают в фокус
Код: vbnet
1.
cpid

вообще фиг знает откуда взялся... отыскал в дебрях иннета статейку офиц сайта майкрософта http://support.microsoft.com/kb/242308/ru , вроде то, что нужно, постараюсь подстроить код под свои нужны
AntonariyПервое слово — тип, аналог в VB - long; второе — название переменной; "= ::" — присвоение; GetTopWindow — апи-функция (где находится яндекс уже должен бы знать). спс за разъяснения
...
Рейтинг: 0 / 0
15.12.2011, 14:51
    #37577711
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
хм... код с офиц сайта а не работает... возвращает пустую строку. проверено на Skype
...
Рейтинг: 0 / 0
15.12.2011, 15:51
    #37577921
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Пустая строка не значит, что не работает. Просто на момент старта у заголовка окна скайпа нет текста.
...
Рейтинг: 0 / 0
15.12.2011, 16:15
    #37578012
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Antonariy,

понятн... так вот зачем wait в коде выше)))
...
Рейтинг: 0 / 0
15.12.2011, 18:00
    #37578394
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
незачем
...
Рейтинг: 0 / 0
16.12.2011, 16:59
    #37580164
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
AntonariyПустая строка не значит, что не работает. Просто на момент старта у заголовка окна скайпа нет текста.
поставил таймер 20 секунд. скайп преспокойненько загружается. всё равно возвращает пустую строку. работает только на калькуляторе. что может быть не так?
...
Рейтинг: 0 / 0
16.12.2011, 19:02
    #37580460
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
у кого есть скайп (98% программистов), помогите пожалуйста найти хендлы его окон...
...
Рейтинг: 0 / 0
16.12.2011, 22:03
    #37580696
Статист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
BelowZeroу кого есть скайп (98% программистов)
есть намного удобнее сервисы, ты отстал от жизни
...
Рейтинг: 0 / 0
16.12.2011, 22:11
    #37580713
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Статист,

блин... нажимал - нажимал F5, нет ответов. потом смотрю: новое сообщение - обрадовался. думал, помочь решили. а тут спам(
...
Рейтинг: 0 / 0
17.12.2011, 14:17
    #37581083
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Статист,

>есть намного удобнее сервисы, ты отстал от жизни
Значит я тоже отстал, что за сервисы?
...
Рейтинг: 0 / 0
17.12.2011, 14:22
    #37581087
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Ципихович ЭндрюСтатист,

>есть намного удобнее сервисы, ты отстал от жизни
Значит я тоже отстал, что за сервисы? наверное, он имеет ввиду азбуку морзе через растяжку из проводов... в любом случае, это не по теме, нужен именно скайп. просто узнать хейдл окон скайпа... не думал, что вопрос поставит в ступор)
...
Рейтинг: 0 / 0
17.12.2011, 14:51
    #37581110
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
BelowZero, хейдл окон скайпа по другому от остальных окон узнаётся?
...
Рейтинг: 0 / 0
17.12.2011, 14:54
    #37581112
BelowZero
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Ципихович Эндрю,

хз... что-то у меня не оч получается. если поможете, буду оч благодарен)
...
Рейтинг: 0 / 0
17.12.2011, 14:59
    #37581114
Ципихович Эндрю
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
BelowZero, неа, мне же нельзя отвечать, а то придёт Шокер ..., можно понтоваться, всё знаю, никому ничего не скажу :) :)
...
Рейтинг: 0 / 0
17.12.2011, 15:03
    #37581116
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
хитрые окошки
Ципихович Эндрюа то придёт Шокер ...хихи, разрешаю вам обоим консультировать друг друга в темах созданных вами же
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / хитрые окошки / 25 сообщений из 34, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]