hInstance

Тема в разделе "WASM.BEGINNERS", создана пользователем DeathAndDevastating, 16 май 2007.

  1. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    Привет!
    Подскажите пожалуйста, какое значение имеет hInstance при регистрации класса окна и при создании окна (CreateWindow()..) и что происходит если поле hInstance структуры WNDCLASSEX равно нулю, а также в CreateWindow() этот параметр тоже равен нулю?
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    0x00400000
     
  3. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    censored
    что это: 0x00400000?
     
  4. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    Я видимо сильно торможу..
    Короче вот программа:

    Код (Text):
    1. #include <windows.h>
    2. #include <commdlg.h>
    3.  
    4. int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
    5.                     PSTR szCmdLine, int iCmdShow)
    6.      {
    7.      static CHOOSECOLOR cc ;
    8.      static COLORREF    crCustColors[16] ;
    9.  
    10.      cc.lStructSize    = sizeof (CHOOSECOLOR) ;
    11.      cc.hwndOwner      = NULL ;
    12.      cc.hInstance      = NULL ;
    13.      cc.rgbResult      = RGB (0x80, 0x80, 0x80) ;
    14.      cc.lpCustColors   = crCustColors ;
    15.      cc.Flags          = CC_RGBINIT | CC_FULLOPEN ;
    16.      cc.lCustData      = 0L ;
    17.      cc.lpfnHook       = NULL ;
    18.      cc.lpTemplateName = NULL ;
    19.  
    20.      return ChooseColor (&cc) ;
    21.      }
    ..подскажите пожалуйста, -ей что совсем не нужен hInstance, когда она вызывает DialogBox (..в нутрии ChooseColor (&cc))?
     
  5. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    обычно, база образа exe. Оно же - хендл модуля

    Если в ехе работаешь, сделай GetModuleHandle с параметром 0
     
  6. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    DeathAndDevastating
    400000h или 4194304d или 10000000000000000000000b или 20000000o :)
     
  7. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    Mikl__
    нет, это я понял)) ..в смысле ошибка..?

    MSoft
    ..а что ChooseColor (&cc) использует какой-то свой хэндл?
     
  8. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
     
  9. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    censored
    Я это уже много раз читал..))
    Мне интересно откуда DialogBox (..в нутрии ChooseColor (&cc)) берет хэндл.. когда его нет (как в примере выше)?
     
  10. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    IMHO, hInstance берется от этой DLL (ей он передается в DllMain)
     
  11. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    censored
    Получается что окно принадлежит экземпляру библиотеки..?
     
  12. q_q

    q_q New Member

    Публикаций:
    0
    Регистрация:
    5 окт 2003
    Сообщения:
    1.706
    DeathAndDevastating
    Да.
    Например, Comdlg32.dll из состава wxpprosp2ru содержит в ресурсах диалог с идентификатором CHOOSECOLOR.
     
  13. DeathAndDevastating

    DeathAndDevastating New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2007
    Сообщения:
    24
    q_q
    Все стало понятно.., Спасибо тебе друг!