First, thanks for the response, and second, sorry if my explaination is confusing you.
I'll explain it again. The situation: I have a server application using remote data modul And I have a client application connect to server using socket connection In my server application, I use tray icon to hide the server application main form from the task bar The tray icon will provide akses to open my server application main form for server management tools. The icon will only appear on the server Admin user will use the icon to access the server management tools Now the problem: In normal condition, the icon will appear if client connect to the server application after someone logon to the server computer where the server application reside. But if a client connect to the server application, when no one has logon to the server computer, then the icon won't appear after someone logon to the server computer. But of cource the instance of server application is running and listed in the task manager. And other problem is if the server computer got crash or something where the explorer.exe must be killed, the icon won't appear after I run explorer.exe from the task manager. In my situation, the server is sometime access by the administrator, so someone need to logon, and my server application also need some administrative things to do and can be accessed through the server application main form from the tray icon menu. What I'm trying to do is to make sure the icon will always there for user to access the menu what ever happen(when no user logon the windows yet, or after an explorer.exe restart) I'm not saying that the first person to log in doesn't get a notification icon, but everyone after that does, If any client connect to the server application when no one logon to the server computer, then anyone logon to the computer, won't get the tray icon. All client must disconnect first then reconnect again to make the icon visible again. I'll try your suggestion, looks interesting, but I'll try to research more on how to recreate only the icon. Thanks again Iwan Cahyadi Sugeng wrote: > I have a server application using TRemoteDataModule, and I use tray icon for > this server application. > So everytime user connect, the tray icon will appear as the server > application is running. I don't understand. The user is connecting with the client. Why put the server's icon anywhere? The user isn't at the server to see the icon anyway, right? > But when the explorer.exe file is killed from the windows task manager and > then run the explorer.exe again the tray icon is not redisplayed. Why is Explorer running on your server computer? Nobody should need to be logged in at the server. Why are you killing Explorer? Is it to simulate crashing? If Explorer is crashing, then you have an unstable server and you should fix that. > How can I make my icon reappear on explorer.exe restart?other icon can do > that, like outlook or opera for example. Call RegisterWindowMessage('TaskbarCreated'), and then have your program listen for that window message (in Application.OnMessage, for instance). When you get that message, re-create your notification icon. > Also when any user connect to the application server, while nobody has login > to the server computer, then when someone logon the computer, the icon is > not appeared Are you saying that the first person to log in doesn't get a notification icon, but everyone after that does? -- Rob Iwan Cahyadi Sugeng Freelance Programmer Interaktif Cipta Lestari Jakarta - Indonesia Yahoo ID: gig_boy2001 MSN ID : iwancs