Uruchomienie programu pod ikonami

0

Witam,
Mam problem:
Mam program, który jest uruchomiony na pulpicie pod innymi programami.
Niestety, jak jest uruchomiony, to przykrywa ikony, a jak zrobić by był pod ikonami na pulpicie?

1

@bymbyn:

Nie możesz myśleć o ikonach na pulpicie w oderwaniu od pulpitu, program systemowy chyba Explorer, to jest jego oko, i w nim są ikony.

Jaka jest natura twojego programu, co to jest? Bo (bardzo leniwie) widzę ze dwie ścieżki

  • Produkowanie Image i umieszczenie go jako tło pulpitu (przypuszczam, że się da). Dotyczy programu takie raczej biernego, dokonującego mało dynamicznej prezentacji. Robia to utility które prezentują wymienne tła (zdjecia)
  • te co weszły z Windows Vista gadgety, to właśnie o to miało chodzić, aby tworzyć nową wartość, która współistnieje z pulpitem (ale współistnieje raczej "obok" niż "pod ikonami" - czego nie jestem pewien)

O jednym i drugim nie wiem nic programistycznego, o drugim wiem tyle, ze udało mi sie to wyłączyć - a wcześniej poczytać. Czy coś pamiętam? Nic.

0

pobierasz uchwyt okna pulpitu (to chyba zawsze 0 choć w dobie multi pulpitów mogło się to zmienić) i ustawiasz jako parenta dla swojej aplikacji. Stara sztuczka znana jeszcze z czasów windows 95

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getdesktopwindow
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setparent

ale jako że nie jest to oficjalnie wspierane to podejrzewam że mogą się pojawić jakieś glitche, lepiej jest w zupełności podmienić pulpit, tj. po prostu renderować ikony w swojej aplikacji.

tu masz gotowe rozwiązanie
https://www.codeproject.com/Articles/856020/Draw-Behind-Desktop-Icons-in-Windows-plus

choć używa hacka udającego włączenie ustawień zmiany tapety - nie wiadomo jak długo ten hack podziała i czy działa jeszcze na win11

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