Ich möchte ein .NET-Formular als TopMost-Formular für eine andere externe Anwendung erstellen (nicht .NET-bezogen, reines Win32), damit es über dieser Win32App bleibt, aber nicht den Rest der Anwendungen ausführt.
Ich habe das Handle der Win32App (von der Win32App selbst bereitgestellt), und ich habe versucht Win32 SetParent () Funktion , über P / Invoke in C # , aber dann wird mein .NET-Formular in die Win32App eingeschränkt und das ist nicht das, was ich will.
Ich denke, Sie suchen nach P / Invoke SetWindowLongPtr(win32window, GWLP_HWNDPARENT, formhandle)
Ja! Ich habe bereits einen P / Invoke-Import von SetWindowLongPtr (was x64 sicher ist). Und mit Reflektor suchte ich nach der Form.Owner Eigenschaft (d. H. Die Methode get_Owner (Form value)) und schaffte es, den Besitzer mit
zu ändern %Vor%Ich habe gesucht, was das -8 (0xFFFFFFFFFFFFFFF8) bedeutete, bevor ich die Lösung hier posten konnte, aber Joel hat es bereits darauf hingewiesen.
Danke!