//---------------------------------------------------------------------------------------
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
   LRESULT lr = 0;

   switch (nMsg)
	{
   case WM_CREATE:
      lr = OnCreate(hWnd, wParam, lParam);
      break;

   case WM_TRAY:
      lr = OnTray(hWnd, wParam, lParam);
      break;

   case WM_CLOSE:
      lr = OnClose(hWnd, wParam, lParam);
      break;

	case WM_DESTROY:
		PostQuitMessage(0);
		break;

   default:
		lr = DefWindowProc(hWnd, nMsg, wParam, lParam);
      break;
	}

   return lr;
}
Exemple #2
0
LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    LPMINMAXINFO lpmmi;

    switch (message)       /* handle the messages */
    {
    case WM_WTSSESSION_CHANGE:
        switch ( wParam )
        {
        case WTS_SESSION_LOCK:
            SaveEnergyShort();
            break;
        case WTS_SESSION_UNLOCK:
            break;
        default:
            break;
        }
        break;
    case WM_CREATE:
    {

        LoadRegistrySettings();

        TRAY_Init(hWnd,AUTO_START_FLAG);

        OnTray(wParam);

    }
    break;
    case WM_KEYDOWN :
        if (wParam == VK_ESCAPE)
        {
            ShowWindow(hWnd, SW_SHOWMINIMIZED);
        }
        break;
    case WM_SIZE:
        OnSizeTray(wParam); // Minimize/Restore to/from tray
        break;
    case WM_NOTIFYICONTRAY:
        OnNotifyTray(lParam); // Manages message from tray
        return TRUE;
    case WM_COMMAND:
    {
        if (OnCommandTrayMenu(wParam)) break;
     }
    break;
    case WM_RBUTTONDOWN:
    {
        TRAY_Menu_Show();//load POPUP menu in main window (why?)
    }
    break;
    case WM_CLOSE:
        ShowWindow(hWnd, SW_SHOWMINIMIZED); // Minimize/Restore to/from tray
        break;
    case WM_DESTROY:
        UnregisterSession(hWnd);
        OnDestroyTray();
        PostQuitMessage (0);  /* send a WM_QUIT to the message queue */
        break;
    default: /* for messages that we don't deal with */
        return DefWindowProc (hWnd, message, wParam, lParam);
    }

    return 0;
}