Soweit läuft jetzt alles!
Siehe ScreenShot.
Einzige Problem ist das Dummy Window von Winamp.
Ich habe es mal auf Visible gestellt damit man da problem besser erkennen kann.
Wenn nun ein plugin ausgeführt wird hängt es sich an das Fenster an.
Das ist es aber was ich verhindern will .. es soll wie bei Winamp sich an mein fenster andocken.
Hier nochmal ein Schnipsel vom Source.
Delphi-Quellcode:
// Erst wenn die Classe registriert ist kann das Window erstellt werden
WinAtom := Windows.RegisterClassEx(wClass);
if WinAtom <> 0 then
Result := CreateWindowEx(0, AppClass, AppTitle,
WS_VISIBLE, // Kein Frame, Unsichtbar
0, 0, 275, 116, // x, y, width, height
{parent} 0, 0, hInst, nil)
else
Result := 0;
// AppParentHandle Hwnd von der ausführenden Anwendung
// if AppParentHandle <> 0 then
// begin
// VisPlgHandle := Result;
// SetParent(VisPlgHandle, AppParentHandle);
// SetWindowPos(VisPlgHandle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_NOSIZE);
// end
// else
// VisPlgHandle := Result;
VisInfo^.WinHandle := VisPlgHandle;
WinampVisExecute(Filename, Vismod, VismodCounter, VisPlgHandle);
// ParentWindow der APPClass zuweisen
VisInfo^.VisModule^.hwndParent := VisPlgHandle;
VisInfo^.VisModule^.Init(VisInfo^.VisModule);
PluginHandle := GetWindow(VisInfo^.VisModule^.hwndParent, GW_HWNDPREV);
Wenn die zeilen oben auskommentiert werden dann hängt sich das Programm auf..
bzw. verliert den Focus und läuft nicht weiter.
Was kann ich da sonst noch machen habs mit zwei WinProcs versucht und.. und.. und..
Weiss im moment nicht weiter.