int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { HWND hCalculator = ::FindWindow(NULL, CALCULATOR_WINDOWSNAME); if(hCalculator == NULL) { if ((HINSTANCE) 32 < ::ShellExecute( NULL, NULL, CALCULATOR_PAHT, NULL, NULL, SW_SHOWNORMAL)) { for(int i = 0; i < 10; i ++) { hCalculator = ::FindWindow(NULL, CALCULATOR_WINDOWSNAME); if(hCalculator != NULL) break; SleepEx(200, TRUE); } } } if(hCalculator != NULL) { BOOL bMinimize = ::IsIconic(hCalculator); if(TRUE == bMinimize) { ::ShowWindow(hCalculator, SW_SHOW); } else { ::SetForegroundWindow(hCalculator); } } return 0; }