class System.Diagnostics.Process
   inherits System.ComponentModel.Component
   implements System.ComponentModel.IComponent, System.IDisposable:

   def public property BasePriority as integer
      get.

   def public property ExitCode as integer
      get.

   def public property HasExited as logical
      get.

   def public property ExitTime as datetime
      get.

   def public property Handle as System.IntPtr
      get.

   def public property SafeHandle as Microsoft.Win32.SafeHandles.SafeProcessHandle
      get.

   def public property HandleCount as integer
      get.

   def public property Id as integer
      get.

   def public property MachineName as character
      get.

   def public property MainWindowHandle as System.IntPtr
      get.

   def public property MainWindowTitle as character
      get.

   def public property MainModule as System.Diagnostics.ProcessModule
      get.

   def public property MaxWorkingSet as System.IntPtr
      get.
      set.

   def public property MinWorkingSet as System.IntPtr
      get.
      set.

   def public property Modules as System.Diagnostics.ProcessModuleCollection
      get.

   def public property NonpagedSystemMemorySize as integer
      get.

   def public property NonpagedSystemMemorySize64 as int64
      get.

   def public property PagedMemorySize as integer
      get.

   def public property PagedMemorySize64 as int64
      get.

   def public property PagedSystemMemorySize as integer
      get.

   def public property PagedSystemMemorySize64 as int64
      get.

   def public property PeakPagedMemorySize as integer
      get.

   def public property PeakPagedMemorySize64 as int64
      get.

   def public property PeakWorkingSet as integer
      get.

   def public property PeakWorkingSet64 as int64
      get.

   def public property PeakVirtualMemorySize as integer
      get.

   def public property PeakVirtualMemorySize64 as int64
      get.

   def public property PriorityBoostEnabled as logical
      get.
      set.

   def public property PriorityClass as System.Diagnostics.ProcessPriorityClass
      get.
      set.

   def public property PrivateMemorySize as integer
      get.

   def public property PrivateMemorySize64 as int64
      get.

   def public property PrivilegedProcessorTime as System.TimeSpan
      get.

   def public property ProcessName as character
      get.

   def public property ProcessorAffinity as System.IntPtr
      get.
      set.

   def public property Responding as logical
      get.

   def public property SessionId as integer
      get.

   def public property StartInfo as System.Diagnostics.ProcessStartInfo
      get.
      set.

   def public property StartTime as datetime
      get.

   def public property SynchronizingObject as System.ComponentModel.ISynchronizeInvoke
      get.
      set.

   def public property Threads as System.Diagnostics.ProcessThreadCollection
      get.

   def public property TotalProcessorTime as System.TimeSpan
      get.

   def public property UserProcessorTime as System.TimeSpan
      get.

   def public property VirtualMemorySize as integer
      get.

   def public property VirtualMemorySize64 as int64
      get.

   def public property EnableRaisingEvents as logical
      get.
      set.

   def public property StandardInput as System.IO.StreamWriter
      get.

   def public property StandardOutput as System.IO.StreamReader
      get.

   def public property StandardError as System.IO.StreamReader
      get.

   def public property WorkingSet as integer
      get.

   def public property WorkingSet64 as int64
      get.

   def public event OutputDataReceived signature void (input sender as System.Object, input e as System.Diagnostics.DataReceivedEventArgs).

   def public event ErrorDataReceived signature void (input sender as System.Object, input e as System.Diagnostics.DataReceivedEventArgs).

   def public event Exited signature void (input sender as System.Object, input e as System.EventArgs).

   constructor public Process():
   end constructor.

   method public final logical CloseMainWindow():
   end method.

   method protected final override void Dispose(input disposing as logical):
   end method.

   method public final void Close():
   end method.

   method public final static void EnterDebugMode():
   end method.

   method public final static void LeaveDebugMode():
   end method.

   method public final static System.Diagnostics.Process GetProcessById(input processId as integer, input machineName as character):
   end method.

   method public final static System.Diagnostics.Process GetProcessById(input processId as integer):
   end method.
   
   // manual hack to allow usage of return values of "System.Diagnostics.Process extent" to report length
   method public integer GetLength(input whatever as int):
   end method.

   // manual hack to allow usage of return values of "System.Diagnostics.Process extent" to provide element access
   method public System.Object GetValue(input whatever as int):
   end method.
   
   method public final static System.Diagnostics.Process extent GetProcessesByName(input processName as character):
   end method.

   method public final static System.Diagnostics.Process extent GetProcessesByName(input processName as character, input machineName as character):
   end method.

   method public final static System.Diagnostics.Process extent GetProcesses():
   end method.

   method public final static System.Diagnostics.Process extent GetProcesses(input machineName as character):
   end method.

   method public final static System.Diagnostics.Process GetCurrentProcess():
   end method.

   method protected final void OnExited():
   end method.

   method public final void Refresh():
   end method.

   method public final logical Start():
   end method.

   method public final static System.Diagnostics.Process Start(input fileName as character, input userName as character, input password as System.Security.SecureString, input domain as character):
   end method.

   method public final static System.Diagnostics.Process Start(input fileName as character, input arguments as character, input userName as character, input password as System.Security.SecureString, input domain as character):
   end method.

   method public final static System.Diagnostics.Process Start(input fileName as character):
   end method.

   method public final static System.Diagnostics.Process Start(input fileName as character, input arguments as character):
   end method.

   method public final static System.Diagnostics.Process Start(input startInfo as System.Diagnostics.ProcessStartInfo):
   end method.

   method public final void Kill():
   end method.

   method public override character ToString():
   end method.

   method public final logical WaitForExit(input milliseconds as integer):
   end method.

   method public final void WaitForExit():
   end method.

   method public final logical WaitForInputIdle(input milliseconds as integer):
   end method.

   method public final logical WaitForInputIdle():
   end method.

   method public final void BeginOutputReadLine():
   end method.

   method public final void BeginErrorReadLine():
   end method.

   method public final void CancelOutputRead():
   end method.

   method public final void CancelErrorRead():
   end method.

end class.
