Форум программистов, компьютерный форум CyberForum.ru

вытянуть значение HINSTENCE из текущего потока - C++

Восстановить пароль Регистрация
 
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
28.10.2011, 10:39     вытянуть значение HINSTENCE из текущего потока #1
Доброго времени суток!
Подскажите как можно вытянуть значение HINSTENCE из текущего потока. Может есть какая функция.
Т.е. хочу в принципе в любом месте кода уметь получить hInst, чтобы не тягать это значение из WinMain.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 11:01     вытянуть значение HINSTENCE из текущего потока #2
Хмм знаю только как дескриптор текущего окна получить HWND = GetForegroundWindow(); Возможно через HWND можно потом получить и HINSTANCE, честно ещё не копал в этом направлении...
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
28.10.2011, 11:41  [ТС]     вытянуть значение HINSTENCE из текущего потока #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Возможно через HWND можно потом получить и HINSTANCE
Да можно есть спец макрос в WindowsX.h типа
C++
1
HINSTENCE GetInstence(HWND)
Мне это не подходит т.к. HINSTENCE мне нужен до/для создания окна посредством CreateWindow() один из параметров которой как раз и есть HINSTENCE.
-=ЮрА=-
Заблокирован
Автор FAQ
28.10.2011, 12:06     вытянуть значение HINSTENCE из текущего потока #4
FireNovel, на сколько я понял окна у вас ещё нет, вы его создаёте и нам нужно самим "придумать" HINSTANCE. Думается HINSTANCE такой же дескриптор как и HWND т.е допустимо в hInst передать любой незанятый систомой HINSTANCE.
Эм это будет довольно геморно, но предлагаю EnumWindows перечислять все HWND cистемы, затем вычислять саамый большой 0х%р HINSTANCE и добавляя к нему 1-чку пробовать запихивать "наш свободный" HINSTANCE в CreateWindow. Хотя думается что у Мелкософта должно быть что-то аля
GetFreeHINSTANCE

Добавлено через 1 минуту
Цитата Сообщение от FireNovel Посмотреть сообщение
HINSTENCE GetInstence(HWND)
- этого не знал, спасибо!
FireNovel
 Аватар для FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
28.10.2011, 13:29  [ТС]     вытянуть значение HINSTENCE из текущего потока #5
Благодаря xAtom ответ действительно оказался простым см тут

Да можно есть спец макрос в WindowsX.h типа
C++
1
HINSTENCE GetInstence(HWND)
Полное определение макроса может кому пригодится:
C++
1
#define     GetWindowInstance(hwnd) ((HMODULE)GetWindowLongPtr(hwnd, GWLP_HINSTANCE))
Yandex
Объявления
28.10.2011, 13:29     вытянуть значение HINSTENCE из текущего потока
Ответ Создать тему
Опции темы

Текущее время: 00:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru