2010-11-09 4 views
0

J'ai écrit un programme pour ping sur trois sites différents, puis il informe l'utilisateur s'ils ont Internet ou non.Native C++ Systray questions d'application

J'ai eu beaucoup de succès pour faire fonctionner ce programme, en grande partie à cause de la notoriété de la communauté ici.

Mon code est écrit en C++ natif car je connais le mieux la langue. Ce que j'espère, c'est que la communauté me pointe dans la direction pour que mon programme fonctionne dans la barre d'état système sans utiliser la programmation .net. J'utilise Visual Studio 2008 et j'ai mon code à installer en utilisant le projet d'installation. Je serais reconnaissant à toute aide que vous pouvez me montrer. Merci.

Répondre

2

Les applications systray natives C++ sont basées sur l'API Win32 Shell Shell_NotifyIcon.

Pour ajouter votre icône au sys tray vous voulez quelque chose comme ceci:

memset(&iconData, 0, sizeof(NOTIFYICONDATA)); 
iconData.hIcon = ::LoadIcon(hResourceModule, MAKEINTRESOURCE(IDR_MAINFRAME)); 
iconData.hIcon = ::LoadIcon(hResourceModule, MAKEINTRESOURCE(IDI_ICON)); 
iconData.cbSize = sizeof(NOTIFYICONDATA); 
iconData.uFlags = NIF_ICON | NIF_TIP; 
iconData.hWnd = this->m_hWnd; 
strncpy(iconData.szTip, programTitle_buffer, programTitle_length); 
if(iconData.hIcon) 
{ 
    Shell_NotifyIcon(NIM_ADD, &iconData); 
} 

Pour supprimer l'icône que vous voulez quelque chose comme ceci:

Shell_NotifyIcon(NIM_DELETE, &iconData);