2012-09-19 4 views
0

Я новичок в программировании Windows. В ОС Windows почти каждое приложение открывает окно, и я хочу знать, что если все эти приложения вызывают тот же API CreateWindow(), чтобы создать их окна?Windows create window API

Или, еще один способ задать свой вопрос: делают ли игры, музыкальные плееры, браузеры, мгновенные сообщения, IDE и т. Д. Создают свое окно, вызывая API CreateWindow()? Если нет, то какие другие API-интерфейсы можно использовать для создания окон в Windows?

ответ

3

Да, это и CreateWindowEx являются единственными API, которые могут создавать окно (другие связанные API, такие как DialogBox и AllocConsole также делают это внутренне). Независимо от того, какой графический стек использует каждое приложение (WPF, DirectX и т. Д.), Все это сводится к CreateWindow.

+0

Отлично, это решает мои проблемы, спасибо! – Bloodmoon

+0

@rkosegi: Отредактировано, чтобы упомянуть об этом тоже. Спасибо за совет. – Jon

+0

@Bloodmoon: Остерегайтесь - просто потому, что 'CreateWindowEx' * умеет * создавать окно, не означает, что вы должны его использовать! Для того, чтобы окно действительно использовалось *, нужно использовать ** много **, вы должны использовать 'IsDialogMessage', вы должны изменить шрифт на системный по умолчанию, вам нужно правильно создать дочерние окна (собственные can of worms) и т. д. ... это то, что вы, вероятно, не хотите делать вручную на C, если вам не нужно! – Mehrdad