2013-07-07 3 views
0

в настоящее время я имею это, но он не ставит мое окно позади столаПоместите окно за значки на рабочем столе

SetWindowPos(hWnd,HWND_BOTTOM,0,0,SCREEN_WIDTH,SCREEN_HEIGHT,SWP_FRAMECHANGED); 
ShowWindow(hWnd,SW_SHOWNOACTIVATE); 

я хочу, чтобы поместить мое окно позади каждого окна, даже окна на панели задач и иконки рабочего стола пожалуйста помогите мне, как я могу это сделать заблаговременно

+3

Вы просто не можете, рабочий стол Windows не является окном. –

+1

иконки рабочего стола не являются частью какого-либо окна? Я видел, как некоторые программы делают это – Rayum

+1

Нет, у вас нет. Возможно, вы видели другие программы ** draw ** на рабочем столе, но вы не видели, чтобы они заносили ** окно ** за ним. Они совсем не то же самое. Это разница между нанесением рисунка вашего автомобиля на окно дома и фактической парковкой вашего автомобиля в гостиной. Они не то же самое, не так ли? –

ответ

2

Рабочий стол - это элемент управления ListView, а значки на рабочем столе - его элементы списка. Окна верхнего уровня могут быть сделаны дочерними элементами этого окна ListView, но невозможно установить дочернее окно между фоном ListView и его элементами списка. Единственный способ сделать что-либо позади элементов - это рисовать непосредственно на фоне ListView, например, путем подклассификации его для перехвата его сообщений WM_ERASEBKGND и WM_PAINT.

Смежные вопросы