MVV

|
Posted: Thu Jul 25, 2013 17:35 Post subject: |
|
|
Ciber SLasH, читай документацию по API плагинов и пиши свою программу для их загрузки, всё просто. Некоторые плагины могут использовать что-то помимо интерфейса и работать некорректно без тотала, но думаю, таких меньшинство.
Совершенно непонятно, почему в приведенном примере программы функция ListLoad принимает лишь 2 параметра, когда у неё их 3. Один только этот факт - серьезное нарушение, особенно с учётом того, что функция STDCALL, т.е. в стек ты кладешь 2 параметра, а она извлекает 3 - вылет по завершении функции неминуем.
Code: | HWND __stdcall ListLoad(HWND ParentWin,char* FileToLoad,int ShowFlags);
function ListLoad(ParentWin:thandle;FileToLoad:pchar;ShowFlags:integer):thandle; stdcall; |
Кроме того, первым параметром должен быть дескриптор окна, внутри которого плагин сможет создать своё окно (вряд ли окно тотала или панель инструментов быстрого запуска сойдут за такое окно), поэтому правильнее будет в своей программе сначала создать окно, а потом вызвать ListLoad и передать ей дескриптор созданного окна. Если пишешь на дельфе и размер программы не важен, можешь создать форму и передать её дескриптор. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|