// // say.exe - Copyright (c) 2006 by Antoni Aawicki ; // #include #include #include #pragma comment(lib, "sapi") #pragma comment(lib, "ole32") #pragma comment(lib, "user32") int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ISpVoice * pVoice = NULL; WCHAR text[1024]; if(strlen(lpCmdLine)) { mbstowcs(text, lpCmdLine, 1024); if (FAILED(::CoInitialize(NULL))) return FALSE; HRESULT hr=CoCreateInstance(CLSID_SpVoice, NULL, CLSCTX_ALL, IID_ISpVoice, (void **)&pVoice); if(SUCCEEDED(hr)) { hr = pVoice->Speak(text, 0, NULL); pVoice->Release(); pVoice = NULL; } ::CoUninitialize(); } else { MessageBox(NULL, "Copyright (c) 2006 by Antoni Sawicki \nusage: say.exe \n", "say.exe", MB_OK | MB_ICONASTERISK); return FALSE; } return TRUE; }