15. august 2001 - 09:22
Der er
25 kommentarer
Sende andet program til systray
Hejsa Kan det lade sig gøre at få et andet program til at lægge sig i system tray via nogle api calls? Og hvordan? Jeg så engang et program der sagde sig i den blå linie i toppen af alle windows-vinduer med en ekstra knap, så man kunne smide et hvilket som helst program ned i systray. Jeg skal ikke lave det med den ekstra knap... Jeg forestiller mig noget i retning af at man først finder handlen med findwindow, men så kan jeg heller ikke komme længere.... MVH Elv
Annonceindlæg fra QNAP
15. august 2001 - 09:23
#1
elv >> Har du en handle til programmet ? Jens B
15. august 2001 - 09:29
#2
Fedt program! Mon du kan komme i tanke om hvad det hedder?
15. august 2001 - 10:37
#3
Kan ikke huske navnet på programmet. Jeg har ikke handlen til programmet, men det kunne f.eks. være outlook express... så den ikke fylder i taskbren, men alligevel henter mail konstant...
15. august 2001 - 12:15
#4
Øv...
15. august 2001 - 12:16
#5
jeg skal nok lave programmer, men det bliver altså ikke i dag ! Jeg tror ikke det er så svært ... Jens B
15. august 2001 - 13:18
#6
Lyder feeeeeedt, jeg venter bare... MVH Elv
15. august 2001 - 13:18
#7
jeg ska nok ska nok :-) /ZIRON
15. august 2001 - 14:13
#8
Jeg har en gang lavet noget lignende - det kan være du kan bruge noget af det unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ShellAPI; type TForm1 = class(TForm) Button1: TButton; ListBox1: TListBox; Button2: TButton; Button3: TButton; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); procedure Button2Click(Sender: TObject); private IconData: array[0..999] of TNotifyIconData; IC: Integer; public { Public declarations } end; function EnumWnds(Wnd: HWND; Data: LParam): Bool; stdcall; var Form1: TForm1; implementation {$R *.DFM} function EnumWnds(Wnd: HWND; Data: LParam): Bool; var Text: string; begin SetLength(Text, 256); if GetWindowText(Wnd, PChar(Text), 255) <> 0 then Form1.ListBox1.Items.AddObject(Text, Pointer(Wnd)); Result := True; end; procedure TForm1.FormCreate(Sender: TObject); begin EnumWindows(@EnumWnds, 0); end; procedure TForm1.FormDestroy(Sender: TObject); var i: Integer; begin for i := 0 to IC - 1 do Shell_NotifyIcon(NIM_DELETE, @IconData[i]); end; procedure TForm1.Button2Click(Sender: TObject); begin if ListBox1.ItemIndex < 0 then Exit; with IconData[IC] do begin cbSize := SizeOf(TNotifyIconData); Wnd := HWND(ListBox1.Items.Objects[ListBox1.ItemIndex]); uID := IC; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallBackMessage := 0; hIcon := Application.Icon.Handle; StrCopy(szTip, PChar(Copy(ListBox1.Items[ListBox1.ItemIndex], 1, 64))); end; Shell_NotifyIcon(NIM_ADD, @IconData[IC]); Inc(IC); end; end.
15. august 2001 - 14:16
#9
nico22 >> Så langt så godt ... Men hvis du ikke hooker ding ind i dens message kø, kan du vel ikke få den tilbage ... Jens B
15. august 2001 - 14:32
#10
jeg tænkte man kunne subclasse det vindue man lægger i trayet
15. august 2001 - 14:33
#11
jjoee .. Det er selvfølgelig nemmere ... Jens B
09. september 2001 - 16:21
#12
er der stadig gang i dette spørgsmål??? /ZIRON
09. september 2001 - 16:52
#13
Det ser lidt dødt ud..... jeg kan ikke helt se hvordan det kode der er givet, kan bruges til noget....
09. september 2001 - 17:18
#14
det var mere fordi jeg så vil gå igang med at lave et program til dig :-) /ZIRON
09. september 2001 - 17:35
#15
Lyder godt! :)
15. september 2001 - 19:00
#16
Hvaaaaeeehhh... bliver det til noget? :) MVH Emil
15. september 2001 - 19:02
#17
så så boy :-) jeg har da fået lavet noget bare rolig, har bare ikke så meget tid. men det er på vej... /ZIRON
15. september 2001 - 19:17
#18
hehe, jeg skulle bare lige høre om du havde glemt det :) MVH Emil
15. september 2001 - 19:32
#19
:-) det er bare helt iorden... /ZIRON
20. marts 2002 - 00:14
#20
Hmmmm... Faldt lige over spørgsmålet... Ville egentlig også lige høre om der stadig var gang i spørgsmålet... Det kunne da være lækkert at have et lille program der smed alle andre ned i trayen! :)
21. september 2002 - 16:48
#21
zzzzzzzzzzz :) Ziron, er du bare i gang med at lave et monster sejt program eller er vi gået lidt i stå? :)
24. marts 2003 - 20:44
#23
Hehe, fino! Men min pointe var også lidt at finde ud af hvordan man kan gøre det fra Delphi.... er det ikke en udfordring for dig? :)
24. marts 2003 - 22:05
#24
Njaaaa... Tror dog alligevel det er for stor en mundfuld for mig!! Håbede nu mere på at et par af de andre Delphi-gutter ville forsøge sig lidt!! ;)
24. marts 2003 - 22:07
#25
Jaaaah, men hvis man nu kigger på hvornår spørgsmålet egentlig er oprettet.... Borrisholt, måtte selv du bukke under for dette? Det tror jeg ikke på :)
Kurser inden for grundlæggende programmering