![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#5
|
|||||
|
|||||
![]() Цитата:
Все оказалось не просто и я окончательно запутался. Автор статьи предлагает использовать интерфейс ITfLanguageProfileNotifySink для получения ссобщейни об изменении языкового профайла. Окунувшись в MSDN, узнаем, что для этого нам необходимо получить объект от ITfSource, который, ы свою очередь мы получим из объекта другого интерфейса: ITfInputProcessorProfiles, путем вызова QueryInterface. Я решил начать с ITfInputProcessorProfiles. В Delphi XE2 он не реализован, к сожалению. Из того же MSDN узнаем, что получить указатель на этот интерыейс можно вызовом функции CoCreateInstance с параметром CLSID_TF_InputProcessorProfiles. Запускаем regedit и выясняем как выглядит GUID: HKEY_CLASSES_ROOT\CLSID\{33C53A50-F456-4884-B049-85FD643ECFED}. Далее объявляю интерфейсы: Код:
И пытаюсь получить указатель: Код:
И ничего не получаю :-( То есть Status равен каком-то огромному отрацательному числу. Может быть кто-нить подскажет, что я делаю не так? Последний раз редактировалось WanderAlone, 03.11.2011 в 06:10. |