C# programm ausführen während ich auf einem anderen programm bin?
Also ich möchte ein Programm schreiben (Windows forms) welches permanent laufen soll, auch wenn ich zB gerade im Browser oder in anderen Programmen /Apps unterwegs bin? Wie kann ich das machen, da sobald ich auf ein anderes Programm clicke immer mein selbstgeschriebenes Programm anhält?Danke vielmals für eure Antworten
2 Antworten
![](https://images.gutefrage.net/media/user/Palladin007/1513698609789_nmmslarge__202_0_980_980_9cc06b25d33a80bd7adc221dae634818.jpg?v=1513698610000)
Dann hast Du irgendetwas falsch gemacht, WinForms läuft immer, auch wenn Du gerade in einem anderen Programm aktiv bist. Zumindest wird nichts angehalten, aber wenn Du nichts klicks, passiert natürlich auch nichts.
Eventuell kann man im Windows Prozesse ohne Fokus pausieren, davon weiß ich aber nichts und das ist dann eine Einstellung im Windows.
Wenn Du willst, dass dein Programm immer vorne angezeigt wird, dann such nach "TopMost".
Wenn Du z.B. Mausbewegungen verarbeiten möchtest, geht das nicht mit WinForms, dafür brauchst Du die WinApi. Such nach "Hook", damit kannst Du sehr viele Dinge im Windows überwachen, musst aber beachten, dass Du damit auch andere Programme oder die Performance vom ganzen Windows stören kannst - das ist aber nie dauerhaft.
Außerdem ist das ganz sicher nicht für einen blutigen Anfänger geeignet. Wenn Du es doch versuchen willst, ist "p/invoke" das Stichwort und "pinvoke.net" eine große Hilfe.
![](https://images.gutefrage.net/media/default/user/9_nmmslarge.png?v=1551279448000)
Was heißt "anhält"? Wenn es nichts macht, dann ist es ohnehin im Leerlauf.
Wenn du eine Form hast, könntest du das Deactivate-Ereignis behandeln.