diff options
Diffstat (limited to 'program/Program.cpp')
-rw-r--r-- | program/Program.cpp | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/program/Program.cpp b/program/Program.cpp new file mode 100644 index 0000000..584e138 --- /dev/null +++ b/program/Program.cpp @@ -0,0 +1,57 @@ +// +// AUTHOR +// N. Nielsen +// +// LICENSE +// This software is in the public domain. +// +// The software is provided "as is", without warranty of any kind, +// express or implied, including but not limited to the warranties +// of merchantability, fitness for a particular purpose, and +// noninfringement. In no event shall the author(s) be liable for any +// claim, damages, or other liability, whether in an action of +// contract, tort, or otherwise, arising from, out of, or in connection +// with the software or the use or other dealings in the software. +// +// SUPPORT +// Send bug reports to: <nielsen@memberwebs.com> +// + +#include "stdafx.h" +#include "resource.h" +#include "MonitorDlg.h" + +CComModule _Module; + +///////////////////////////////////////////////////////////////////////////// +// +extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, + HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int /*nShowCmd*/) +{ + HRESULT hRes = CoInitialize(NULL); + _ASSERTE(SUCCEEDED(hRes)); + _Module.Init(NULL, hInstance); + + ::CreateMutex(NULL, TRUE, _T("WPM_START_MUTEX")); + if(::GetLastError() == ERROR_ALREADY_EXISTS) + return 0; + + CMonitorDlg dlg; + dlg.Create(NULL); + + MSG msg; + while (GetMessage(&msg, 0, 0, 0)) + { + if(dlg.IsDialogMessage(&msg)) + continue; + + TranslateMessage(&msg); + DispatchMessage(&msg); + } + + dlg.DestroyWindow(); + + _Module.Term(); + CoUninitialize(); + return 0; +} |