Вы пытаетесь выполнить invokespecial
на экземпляре Type
(возвращаемом invokevirtual
@ 9), в то время как верификатор ожидает ссылку на текущий класс, т.е. Type$ClassType
.
См. JVMS §4.10.1.9 :
Можно корректно заменить типы, соответствующие текущему классу , и типы аргументов, приведенные в дескрипторе для входящего стек операндов с возвращаемым типом, заданным в дескрипторе, с выходным состоянием типа.
BLOCKQUOTE>
От MSDN :
Версия 4.71 и более поздние версии Shell32.dll добавляет возможность изменить содержимое панели задач. Из приложения вы можете добавлять, удалять и активировать кнопки панели задач. Активация элемента не активирует окно; он показывает элемент как нажатый на панели задач.
Возможности модификации панели задач реализованы в объекте модели объектной модели (COM) (CLSID_TaskbarList), который предоставляет интерфейс ITaskbarList (IID_ITaskbarList). Вы должны вызвать метод ITaskbarList :: HrInit для инициализации объекта. Затем вы можете использовать методы интерфейса ITaskbarList для изменения содержимого панели задач.
Похоже, что COM-взаимодействие - это способ надежного управления содержимым панели задач. В частности, вам необходимо вызвать следующие функции: