Hide the Automation Manager

If you haven’t switched to DCOM yet, and still use Remote OLE Automation, you must launch the Automation Manager program on the server machine, in order to let the server respond to requests coming from client workstations.

The Automation Manager displays a visible window at launch time, which then minimize itself. However, a user can easily bring it on the foreground and accidentally close it, thus stopping the support for Remote OLE Automation on that machine. For this reason, it’s advisable that production systems load the Automation Manager in hidden mode, which can be done using the /HIDDEN option on the command line:

C:WINNTSYSTE;32AUTMGR32.EXE /HIDDEN

If the Automation Manager is loaded in this way, the only way to interactively stop it – short of a machine reboot – is to locate the Task Manager and end the program from there. Alternatively, you can use the following VB routine to close it programmatically:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal _    lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal _    hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _    lParam As Any) As LongConst WM_CLOSE = &H10' Return True if the Automation Manager has been ' successfully closed, False otherwiseFunction CloseAutomationManager() As Function    Dim handle As Long    handle = FindWindow("MSAutMgr32", vbNullString)    If handle Then        ' Try to close the Automation Manager        SendMessage handle, WM_CLOSE, 0, ByVal 0&    End If    ' Return True if the Automation Manager isn't running any longer    CloseAutomationManager = (FindWindow("MSAutMgr32", vbNullString) = 0)End Function

Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: