바탕 화면 배경 (배경 무늬)을 바꿀 것으로 보이는 일부 Windows 바탕 화면에 사용자 지정 그리기를하고 싶습니다. 나는 다음에서는 NativeWindow를 만들고 바탕 화면에 기본 윈도우의 핸들을 할당하여 WM_PAINT
메시지를 캡처하고 내 자신의 드로잉을하려고 노력바탕 화면 배경 무늬 바꾸기/바탕 화면 그리기
IntPtr desktopDC = GetWindowDC(desktopListView);
Graphics g = Graphics.FromHwnd(desktopDC); //<-- fails on out of memory error
:하지만 내 첫 번째 시도는 desktopListView
에 대한 DC를 얻고 그것을 그릴 수 있었다 바탕 화면에 어떤 메시지도 볼 수 없었습니다.
이상적으로는 WPF에서이 작업을 수행하고 Windows 양식을 사용하지 않는 것이 좋습니다. 어떤 단서 WPF 창을 그릴 수있는 바탕 화면 아이콘 아래에 있지만 모든 마우스 메시지를 무시하고 바탕 화면 정상적으로 계속 작동하도록 바탕 화면 맨 위에 앉아 그릴 수 있습니까?
감사합니다. 기존 창에 자식을 추가하는쪽으로 나를 가르쳐 주시겠습니까? 이 작업을 수행하는 확실한 API 함수가 없습니다. –
그것은 모든 pinvoke 물건이다 - 내가 이것을했던 이래로 2,3 년이었다. 그러나 나는 당신이 sethwndparent 또는 setwindow를 찾고 싶다라고 생각한다. –
양식을 만들고 바탕 화면 목록 뷰의 자식으로 추가하면 거의 효과가있는 것 같습니다. 양식은 다른 모든 창 아래에 있지만 여전히 아이콘 위에 있습니다. 어떤 생각을 어떻게 배경/배경 화면으로 되돌릴 수 있을까요? –