Der Code sollte schon so funktionieren wie du es gebaut hast. Du musst aber daran denken, dass das Notepad-Fenster eine eigene Position hat (x, y, breite, höhe), die innerhalb deines Panels eventuell außerhalb des sichtbaren Bereichs liegt.

Du hast ja bereits die native MoveWindow auch importiert, damit kannst du das Notepad-Fenster verschieben nachdem es ins Panels versetzt wurde:

...
SetParent(p.MainWindowHandle, panel1.Handle);
MoveWindow(p.MainWindowHandle, 0, 0, panel1.Size.Width, panel1.Size.Height, true);
...
...zur Antwort

WPF selbst bietet keine mir bekannten Schnittstellen für die Abfrage von Mehrbildschirm-Auflösungen an.

Du musst dir also entweder wirklich etwas natives bauen, oder aber du bindest die Windows-Forms Bibliotheken dafür ein. Es spricht eigentlich nicht viel dagegen.

Dazu musst du in .NET 5 in der Projektdatei (.csproj) zusätzlich zu dem bereits bestehenden

<UseWPF>true</UseWPF>

noch die ähnliche Zeile für Windows Forms einfügen:

<UseWindowsForms>true</UseWindowsForms>

Nachdem du das Projekt neu geladen hast, kannst du System.Windows.Forms und damit die Screen Klasse verwenden.

...zur Antwort

Kleiner Tipp noch zu den Autostart-Ordnern: Wenn man nach dem Anmelden unter Windows die Shift-Taste drückt und gedrückt hält, werden die Programme aus dem Autostart-Ordner nicht gestartet.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.