138 lines
2.8 KiB
C++
138 lines
2.8 KiB
C++
// main.cpp
|
|
//
|
|
// Copyright 2000 Microsoft Corporation, all rights reserved
|
|
//
|
|
// Created 2-00 anbrad
|
|
//
|
|
|
|
#include <shellapi.h>
|
|
#include "resource.h"
|
|
|
|
#include "shelltray.h"
|
|
#include "netwatch.h"
|
|
#define _GLOBALS
|
|
#include "main.h"
|
|
#include "update.h"
|
|
|
|
#define TIMER_NUM 1
|
|
#define TIMER_FREQUENCY 5000
|
|
|
|
|
|
LRESULT CALLBACK MainWindowProc (
|
|
HWND hwnd,
|
|
UINT unMsg,
|
|
WPARAM wParam,
|
|
LPARAM lParam)
|
|
{
|
|
BOOL fDoDefault = FALSE;
|
|
LRESULT lr = 0;
|
|
|
|
switch (unMsg)
|
|
{
|
|
case WM_CREATE:
|
|
AddTrayIcon(hwnd);
|
|
StartListening(hwnd);
|
|
break;
|
|
|
|
case WM_DESTROY:
|
|
StopCapture();
|
|
|
|
RemoveTrayIcon(hwnd);
|
|
if (g_unTimer)
|
|
{
|
|
KillTimer (hwnd, g_unTimer);
|
|
g_unTimer = 0;
|
|
}
|
|
|
|
PostQuitMessage (0);
|
|
break;
|
|
|
|
case WM_USER_TRAYCALLBACK:
|
|
ProcessTrayCallback(hwnd, wParam, lParam);
|
|
break;
|
|
|
|
default:
|
|
fDoDefault = TRUE;
|
|
}
|
|
|
|
if (fDoDefault)
|
|
{
|
|
lr = DefWindowProc (hwnd, unMsg, wParam, lParam);
|
|
}
|
|
|
|
return lr;
|
|
}
|
|
|
|
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE pPrevInstance, LPSTR lpCmdLine, int nShowCmd)
|
|
{
|
|
MSG msg;
|
|
WNDCLASSEX wcex;
|
|
|
|
g_hInst = GetModuleHandle (NULL);
|
|
|
|
//
|
|
// Register our window class.
|
|
//
|
|
ZeroMemory (&wcex, sizeof(wcex));
|
|
wcex.cbSize = sizeof(wcex);
|
|
wcex.style = CS_HREDRAW | CS_VREDRAW;
|
|
wcex.lpfnWndProc = MainWindowProc;
|
|
wcex.hInstance = g_hInst;
|
|
wcex.hCursor = LoadCursor (NULL, IDC_ARROW);
|
|
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
|
|
wcex.lpszClassName = SZ_MAIN_WINDOW_CLASS_NAME;
|
|
|
|
if (!RegisterClassEx (&wcex))
|
|
return 0;
|
|
|
|
if (!CheckForUpdate())
|
|
{
|
|
|
|
_tcscpy(g_szMsg, "Updating netwatch.exe");
|
|
|
|
HWND hDlg = CreateDialog(
|
|
g_hInst,
|
|
MAKEINTRESOURCE(IDD_MESSAGE),
|
|
NULL,
|
|
DlgProcMsg);
|
|
|
|
ShowWindow(hDlg, SW_SHOWNORMAL);
|
|
|
|
while (GetMessage (&msg, NULL, 0, 0))
|
|
{
|
|
TranslateMessage (&msg);
|
|
DispatchMessage (&msg);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
// Create our main window.
|
|
//
|
|
HWND hwnd;
|
|
|
|
hwnd = CreateWindowEx (
|
|
0,
|
|
SZ_MAIN_WINDOW_CLASS_NAME,
|
|
SZ_MAIN_WINDOW_TITLE,
|
|
WS_OVERLAPPEDWINDOW,
|
|
0, 0, 0, 0,
|
|
NULL, NULL, g_hInst, NULL);
|
|
if (hwnd)
|
|
{
|
|
ShowWindow (hwnd, SW_HIDE);
|
|
|
|
// Main message loop.
|
|
//
|
|
while (GetMessage (&msg, NULL, 0, 0))
|
|
{
|
|
TranslateMessage (&msg);
|
|
DispatchMessage (&msg);
|
|
}
|
|
}
|
|
|
|
UnregisterClass (SZ_MAIN_WINDOW_CLASS_NAME, g_hInst);
|
|
|
|
return 0;
|
|
}
|
|
|