Как действительно шпионит ++, узнают то, что окно в определенную точку на экране?

Сценарии я использую IDisposable: очистите неуправляемые ресурсы, откажитесь от подписки для событий, близкие соединения

идиома, которую я использую для реализации IDisposable ( не ориентированный на многопотоковое исполнение ):

class MyClass : IDisposable {
    // ...

    #region IDisposable Members and Helpers
    private bool disposed = false;

    public void Dispose() {
        Dispose(true);
        GC.SuppressFinalize(this);
    }

    private void Dispose(bool disposing) {
        if (!this.disposed) {
            if (disposing) {
                // cleanup code goes here
            }
            disposed = true;
        }
    }

    ~MyClass() {
        Dispose(false);
    }
    #endregion
}
7
задан 2 revs, 2 users 100% 18 November 2011 в 09:27
поделиться

4 ответа

Существует WindowFromPoint () функция.

12
ответ дан 6 December 2019 в 07:07
поделиться

Вот довольно полный пример того, как реализовать средство поиска шпионов ++.

http://www.codeproject.com/KB/dialog/windowfinder.aspx

6
ответ дан 6 December 2019 в 07:07
поделиться

WindowFromPoint или ChildWindowFromPoint API-функции.

3
ответ дан 6 December 2019 в 07:07
поделиться

Не цитируйте меня, но я считаю, что шпион ++ установит ловушку WH_CALLWNDPROC. Затем ему отправляются все сообщения WM_MOUSEMOVE, прежде чем они достигнут своих целевых окон. Таким образом, как только вы наводите курсор мыши на окно, шпион ++ получает сообщение о том, какое окно.

0
ответ дан 6 December 2019 в 07:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: