For programs that are in the registry as an ActiveX Server, you can use the GetObject command. Here is some sample code. Create a new project and add a command button. Paste the following into the click event:<br><br>Private Sub Command1_Click()<br>'If Word is open, get a pointer to it.<br>'If not, open it.<br> Const cstrWordApp = "word.application.8"<br> <br> Dim bolRetry As Boolean<br> Dim WordApp As Object<br> <br> On Error GoTo Command1_Click_Err<br><br> bolRetry = False<br> <br> Set WordApp = GetObject(, cstrWordApp)<br> <br> If bolRetry = True Then<br> Set WordApp = CreateObject(cstrWordApp)<br> WordApp.Visible = True<br> End If<br> <br> Exit Sub<br> <br>Command1_Click_Err:<br><br> If Err.Number = 429 And bolRetry = False Then<br> bolRetry = True<br> Resume Next<br> Else<br> 'Handle other errors<br> End If<br><br>End Sub<br><br><br>This code will see if Word is running, and if so it will get a pointer to it. If it is not, it will start it and make it visible.<br><br>Either way, once you have this pointer, you can do many things, such as open documents, save them, close Word, etc, by using the ActiveX interface Word provides.<br><br>For example to close Word you would use:<br><br>WordApp.Quit<br><br>IE and Netscape should have similar ActiveX interfaces available (I know IE does, I'm not sure about Netscape).<br><br>Hope that helps.<br>Steve<br>