Text Recognition Program

A Simple .Cpp Program

Create an Application in MSVC (4.0).
Files in the Project:


speak.cpp
#define INITGUID
#include <objbase.h>
#include <objerror.h>
#include <ole2ver.h>
#include "speech.h"
#include <stdio.h>
void abc(char *p)
{	FILE *fp=fopen("z.txt","a+");	
	fprintf(fp,"%s\n",p);	
	fclose(fp);
}
MSG c;WNDCLASS  a;HWND b;char aa[200];
class ccc : public IVTxtNotifySink 
{
    public:
    STDMETHODIMP         QueryInterface (REFIID, LPVOID FAR *);
    STDMETHODIMP_(ULONG) AddRef(void);
    STDMETHODIMP_(ULONG) Release(void);
    STDMETHODIMP AttribChanged    (DWORD);
    STDMETHODIMP Visual           (WCHAR, char, DWORD, PTTSMOUTH);
    STDMETHODIMP Speak            (PSTR, PSTR, DWORD);
    STDMETHODIMP SpeakingStarted  (void);
    STDMETHODIMP SpeakingDone     (void);
};
PIVOICETEXT gpIVTxt;ccc * gpVTxtNotifySink; 
LONG CALLBACK zzz( HWND w, UINT x, WPARAM y, LPARAM z)
{
	if ( x == WM_LBUTTONDOWN)
	{
                gpIVTxt->Speak( "hello", 0, NULL );
		MessageBox(0,"hi","hi",0);
	}
	if ( x == WM_DESTROY)
		PostQuitMessage(0);
	return DefWindowProc(w,x,y,z);
}
int PASCAL WinMain(HANDLE i,HANDLE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
	CoInitialize(NULL);
	CoCreateInstance(CLSID_VTxt, NULL,CLSCTX_LOCAL_SERVER, 
						IID_IVoiceText, (void **)&gpIVTxt);
	gpVTxtNotifySink = new ccc;
        gpIVTxt->Register(NULL,"SRClock",gpVTxtNotifySink,
				  IID_IVTxtNotifySink, VTXTF_ALLMESSAGES, NULL);
	a.lpfnWndProc=zzz;
	a.hInstance=i;
	a.hbrBackground=GetStockObject(LTGRAY_BRUSH);
	a.lpszClassName="ClkClass";RegisterClass(&a);
	b=CreateWindow("ClkClass","hi",WS_OVERLAPPEDWINDOW,1,1,100,200,0,0,i,0);
	ShowWindow(b,3);
	while( GetMessage(&c, 0, 0, 0) )
		DispatchMessage(&c);
	return 1;
}
STDMETHODIMP ccc::QueryInterface (REFIID riid, LPVOID *ppv)
{
	*ppv = NULL;
	if (IsEqualIID (riid, IID_IUnknown) || IsEqualIID(riid,IID_IVTxtNotifySink))
	{
		abc("ccc::QueryInterface 1");
		*ppv = (LPVOID) this;
		AddRef();
		return NOERROR;
	}
	return E_NOINTERFACE;
}
STDMETHODIMP_ (ULONG) ccc::AddRef (void){	return 0;}
STDMETHODIMP_(ULONG) ccc::Release (void){		return 0;}
STDMETHODIMP ccc::AttribChanged(DWORD dwAttribute){	return NOERROR;}
STDMETHODIMP ccc::SpeakingStarted(void){return 0;}
STDMETHODIMP ccc::SpeakingDone(void){return 0;}
STDMETHODIMP ccc::Visual(WCHAR cIPAPhoneme, char cEnginePhoneme, DWORD dwFlags, PTTSMOUTH pTTSMouth){	return NOERROR;}
STDMETHODIMP ccc::Speak(PSTR pszMessage,PSTR pszApplication,DWORD dwTyep)
{
	sprintf(aa,"pszMessage %s pszApplication %s dwTyep %ld",
		pszMessage,pszApplication,dwTyep);
	abc(aa);
	return NOERROR;
}


Have any suggestions, comments, ideas, cracked code, feedback. Feel free to get in touch with us.

Move back to the Vijay Mukhi's Technology Cornucopia Page to learn more about the other new Internet Technologies.


Vijay Mukhi's Computer Institute
VMCI, B-13, Everest Building, Tardeo, Bombay 400 034, India
E-mail:vmukhi@giasbm01.vsnl.net.in Tel : 91-22-496 4335 /6/7/8/9 Fax : 91-22-307 28 59
http://www.vijaymukhi.com