"Pin To Desktop"

0

Witam.
Czy wie ktoś może jak przypiąć aplikację do pulpitu (przeciwieństwo StayOnTop)? Coś takiego jest na przykład w aplikacji Samuraize (ewidentnie napisanej w Delphi).

Z góry dziękuję za pomoc.

migajek
  • Rejestracja:ponad 21 lat
  • Ostatnio:ponad 6 lat
  • Postów:370
0

moglbys opisac zachowanie aplikacji? nie mam ochoty sciagac Samurize ;p


0

Chodzi o to, że aplikacja zostaje pod wszystkimi oknami. Jest tak jakby "przypięta do pulpitu".
W StayOnTop aplikacja jest nad wszystkimi oknami zawsze widoczna, a w tym przypadku jest odwrotnie. "Widać" ją tylko, gdy widoczny jest pulpit(no chyba, że jest częściowo zakryta jakimiś oknami). Samuraize to program do modyfikacji pulpitu, umożliwia umieszczenie różnych informacji na pulpicie (coś jak jest w Linuxie) na przykład prognozy pogody, RSS feedu itd. Z tym, że są to zwykłe aplikacje, a nie jakieś rysowanie po pulpicie, czy modyfikacja tapety.

cimak
  • Rejestracja:ponad 22 lata
  • Ostatnio:ponad 9 lat
  • Postów:1668
0

mozesz przypiac do pulpitu w ten sposob:
mozliwosc 1:

Kopiuj
procedure TForm1.FormCreate(Sender: TObject);
begin
Windows.SetParent(Form1.Handle, FindWindow('progman',nil));
end;

czyli po prostu okno pulpitu staje sie rodzicem Twojej formy.
tyle, ze jak Ci padnie explorer to wtedy zniknie i Twoje okno.
wiec powninienes ta operacje wykonac po kazdym ponownym uruchomieniu explorera.

mozliwosc 2:

Kopiuj
procedure TForm1.FormActivate(Sender: TObject);
begin
SetWindowPos(Form1.Handle, HWND_BOTTOM, 0,0,0,0, SWP_SHOWWINDOW or SWP_NOMOVE or SWP_NOSIZE);
end;

czyli twoje okno ba byc pod wszystkimi innymi oknami.

pozdro [browar]

0

Dzięki, działa doskonale.

Pozdrawiam
[browar]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.