This example shows how to get and set various DraftSight application and document window values.
'-------------------------------------------------------------- ' Preconditions: ' 1. Create a VB.NET Windows console project. ' 2. Copy and paste this project into the VB.NET IDE. ' 3. Add a reference to ' install_dir\APISDK\tlb\DraftSight.Interop.dsAutomation.dll ' 4. Start DraftSight. ' 5. Open the Immediate window. ' 6. Press F5. ' ' Postconditions: ' 1. Document window is minimized. ' 2. Examine the Immediate window where ' the application and document window handle values, ' visibility values, window states, and frame and ' geometry positions and sizes are printed. ' 3. Interactively maximize the document window in DraftSight. '---------------------------------------------------------------- Imports System.IO Imports DraftSight.Interop.dsAutomation Module Module1 Dim dsApp As Application Dim dsDoc As Document Dim dsAppWindow As DraftSight.Interop.dsAutomation.DSWindow Dim dsDocWindow As DraftSight.Interop.dsAutomation.DSWindow Sub Main() 'Connect to DraftSight dsApp = GetObject(, "DraftSight.Application") 'Abort any command currently running in DraftSight 'to avoid nested commands dsApp.AbortRunningCommand() 'Get application's window handle, visibility, and state Debug.Print("Application window using Application object:") Debug.Print(" Window handle: " & dsApp.GetHWND) Debug.Print(" Visible: " & dsApp.Visible) Debug.Print(" State: " & dsApp.WindowState) Debug.Print("") 'Get active document dsDoc = dsApp.GetActiveDocument() If Not dsDoc Is Nothing Then ' Get application's window handle, visibility, and state Debug.Print("Application window using DSWindow object:") dsAppWindow = dsApp.GetMainWindow() Dim windowHandle As Integer dsAppWindow.GetHWND(windowHandle) Debug.Print(" Window handle: " & windowHandle) Debug.Print(" Visible " & dsAppWindow.Visible) Debug.Print(" State: " & dsAppWindow.WindowState) Dim x As Integer Dim y As Integer ' Get application's frame and geometry positions and sizes dsAppWindow.GetFramePosition(x, y) Debug.Print(" Frame position: " & x & ", " & y) dsAppWindow.GetFrameSize(x, y) Debug.Print(" Frame size: " & x & ", " & y) dsAppWindow.GetGeometryPosition(x, y) Debug.Print(" Geometry position: " & x & ", " & y) dsAppWindow.GetGeometrySize(x, y) Debug.Print(" Geometry size: " & x & ", " & y) Debug.Print(" ") ' Get document's window handle, visibility, state, ' frame and geometry positions and sizes Debug.Print("Document window using DSWindow object before minimizing window:") dsDocWindow = dsDoc.GetWindow() dsDocWindow.GetHWND(windowHandle) Debug.Print(" Window handle: " & windowHandle) Debug.Print(" Visible " & dsDocWindow.Visible) Debug.Print(" State: " & dsDocWindow.WindowState) dsDocWindow.GetFramePosition(x, y) Debug.Print(" Frame position: " & x & ", " & y) dsDocWindow.GetFrameSize(x, y) Debug.Print(" Frame size: " & x & ", " & y) dsDocWindow.GetGeometryPosition(x, y) Debug.Print(" Geometry position: " & x & ", " & y) dsDocWindow.GetGeometrySize(x, y) Debug.Print(" Geometry size: " & x & ", " & y) 'Minimize Document window dsDocWindow.WindowState = 0 Debug.Print("") ' Get document's window handle, visibility, state, ' frame and geometry positions and sizes after minimizing ' window Debug.Print("Document window using DSWindow object after minimizing the window:") dsDocWindow = dsDoc.GetWindow() dsDocWindow.GetHWND(windowHandle) Debug.Print(" Window handle: " & windowHandle) Debug.Print(" Visible " & dsDocWindow.Visible) Debug.Print(" State: " & dsDocWindow.WindowState) dsDocWindow.GetFramePosition(x, y) Debug.Print(" Frame position: " & x & ", " & y) dsDocWindow.GetFrameSize(x, y) Debug.Print(" Frame size: " & x & ", " & y) dsDocWindow.GetGeometryPosition(x, y) Debug.Print(" Geometry position: " & x & ", " & y) dsDocWindow.GetGeometrySize(x, y) Debug.Print(" Geometry size: " & x & ", " & y) Else MsgBox("There are no open documents in DraftSight.") End If End Sub End Module