WM_PAINT od Windows do applikacji w .NET

0

Witam, mamy dosyć ciekawą dyskusję w biurze. Mój kolega twierdzi, że jest w stanie (z aplikacji napisanej pod .Net) ominąć te środowisko i wywoływać funkcje WinApi bezpośrednio, z zupełnym ominięciem środowiska .Net.
Czyli sytuacja jest następująca, mój kolega twierdzi, że może uzyskać natywny uchwyt do okna z tej aplikacji (i ja się z tym zgadzam), natomiast z czym się nie zgadzam to to, iż on twierdzi, że mając taki uchwyt, Windows system będzie się komunikował bezpośrednio z tym oknem z zupełnym pominięciem środowiska .Net, czyli jeśli Windows system wyśle WM_PAINT, to mimo to iż ta aplikacja jest napisana pod .Net, the WM_PAINT message nie przejdzie przez .Net runtime ale zostanie przesłana bezpośrednio do tego okna.
Czy taka sytuacja jest możliwa?
Dziękuję

1

ominąć te środowisko

to środowisko, te środowiska

Koledze pewnie chodzi o metodę wirtualną Form.WndProc, którą można nadpisać i w niej obsługiwać komunikaty.
Robi się to w przypadku komunikatów których Windows Forms standardowo nie obsługuje (nie ma odpowiednich zdarzeń).
Nie ma sensu w przypadku WM_PAINT, bo jest przecież wyciągnięta metoda OnPaint i zdarzenie Paint.

Tak czy inaczej, nic się nie dzieje „z zupełnym pominięciem .NET”, bo cały program działa pod .NET.

Można też zupełnie nie używać Windows Forms czy WPF i pisać w C# używając wyłącznie funkcji WinAPI, ale to droga przez podwójną mękę. Wtedy też program działa pod .NET, a funkcje natywne wywołuje przez mechanizm PInvoke.

1 użytkowników online, w tym zalogowanych: 0, gości: 1