Using Pb 6.5 and Windows 95, how can I tell if Word is running in the background?
This is a difficult answer depending on if you know what version of Word the user is running and whether it’s 16 or 32 bit. The best way to make sure your application will work on as many different machines as possible is to loop through the windows list of window titles and check to see if one of them is word. You can use the following code to achieve that:
Declare the following API calls:function uint GetDesktopWindow() library "user32"function uint GetWindow( uint handle, int wflags ) library "user32"function int GetWindowTextA(long handle, ref string wintext, int length) library "user32"
Then use the following script to see if word is running:
Long ll_HandleLong ll_RelString ls_Titlell_handle = GetDeskTopWindow()ll_rel = 5 // ChildDO WHILE TRUE // Exit on no handle returned by GetWindow() // Get the child window ll_handle = GetWindow( ll_handle, ll_rel ) if ll_handle = 0 then exit ll_rel = 2 // Next ls_Title = space( 255 ) // Get the window title GetWindowTextA( ll_handle, ls_Title, 255 ) ls_Title = trim( lower( ls_Title ) ) IF Pos( ls_Title, 'microsoft word' ) = 1 THEN MessageBox( 'Hello', 'Word is Running' ) EXIT END IFLOOP