Chapter 3 — Configuring the Computer

//Description: Get process table snapshot, look for pname running.

//Arguments: pname - pointer to name of program to look for.

//for example, app.exe.

//

//Returns: TRUE - process is running.

//FALSE - process is not running.

//$DOCEND$ //************************************************************************ BOOL IsProcessRunning( TCHAR * pname )

{

HANDLE hProcList; PROCESSENTRY32 peProcess; DWORD thDeviceProcessID; TCHAR lpname[MAX_PATH];

if ( !pname !*pname ) return FALSE;

_tcscpy( lpname, pname ); _tcslwr( lpname );

hProcList = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );

if ( hProcList == INVALID_HANDLE_VALUE ) { return FALSE;

} // end if

memset( &peProcess, 0, sizeof(peProcess) ); peProcess.dwSize = sizeof(peProcess);

if ( !Process32First( hProcList, &peProcess ) ) { CloseToolhelp32Snapshot( hProcList );

return FALSE;

}// end if thDeviceProcessID = 0;

do {

_tcslwr( peProcess.szExeFile );

if ( _tcsstr( peProcess.szExeFile, lpname ) ) { thDeviceProcessID = peProcess.th32ProcessID; break;

}// end if

}while ( Process32Next( hProcList, &peProcess ) );

if ( ( GetLastError() == ERROR_NO_MORE_FILES ) && ( thDeviceProcessID == 0 ) )

{

CloseToolhelp32Snapshot( hProcList ); return FALSE;

} // end if

CloseToolhelp32Snapshot( hProcList ); return TRUE;

} // IsProcessRunning

codeINSTALL_INIT Install_Init( HWND hwndParent,

BOOL fFirstCall,

751G Color Mobile Computer User’s Manual

63

Page 77
Image 77
Intermec 751G user manual Configuring the Computer