Здравствуйте, zmi, Вы писали:
zmi>Всем привет!
zmi>Подскажите, чем процесс отличается от приложения?
Пока оно на диске, оно приложение. А как запустится, так и появится процесс. В общем, почти по Фонвизину — та дверь, которая висит, уже прилагательное, а если не висит, то еще существительное
>Например, есть окна, у которых id процесса одинаков, а hinstance application разный.
Не может такого быть. У процесса есть idProcess. Он уникален в Windows на данный момент. Этот процесс имеет свой базовый адрес загрузки EXE — т.е. hInstance. Так что разными они быть не могут.
Но Stanky прав — быть может, ты имеешь в виду базовый адрес модуля, создавшего окно ? Тогда да, может. Но это не hInstance.
> Активное окно в этом случае относится к приложению или к процессу.
Активное окно относится к потоку. Процесс может иметь несколько потоков, каждый из них может иметь активное окно. То окно, которое сейчас имеет синий заголовок — активное окно потока, имеющего окно на переднем плане
Если к приложению, то у процессса может быть два активных окна?
Может, если у него несколько потоков.
Каждый поток может иметь одно и только одно
1. Активное окно
2. Окно в фокусе
3. Окно, захватившее мышь.
Эти свойства являются "потенциальными". Если активное окно данного потока сейчас не на переднем плане, то это лишь потенциальные состояния. Когда активное окно этого потока вылезет на передний план, эти потенциальные состояния станут реальными, а у прежнего потока — потенциальными.