
# IProcessLauncher interface

This `IProcessLauncher` interface is a mechanism that launches a server process in Altium Designer. See [`ICommandLauncher`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/ICommandLauncher.md) and [`IServerProcess`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerProcess.md) interfaces as well.

```csharp
public interface IProcessLauncher
```

**Namespace:** DXP · **Assembly:** Altium.SDK.Interfaces

## Remarks

Since a server has a set of processes and these process identifiers are stored in an installation file (which ends with an INS extension) and the process launchers that link to specific user interface elements (also called resources) and the layout of user interface elements are defined in the resources file (which ends with a RCS extension).

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [GetCommandState](#getcommandstate) | `void` |  |
| [PostMessage](#postmessage) | `void` |  |
| [SendMessage](#sendmessage) | `void` |  |

### GetCommandState

*No description yet.*

```csharp
void GetCommandState(string argProcess, ref string argParameters, IServerDocumentView argContext, ref bool argEnabled, ref bool argChecked, ref bool argVisible, ref string argCaption, ref string argImageFile);
void GetCommandState(string argProcess, ref string argParameters, object argContext, ref bool argEnabled, ref bool argChecked, ref bool argVisible, ref string argCaption, ref string argImageFile);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argProcess` | `string` | value |
| `argParameters` | `string` | ref |
| `argContext` | [IServerDocumentView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocumentView.md) | value |
| `argEnabled` | `bool` | ref |
| `argChecked` | `bool` | ref |
| `argVisible` | `bool` | ref |
| `argCaption` | `string` | ref |
| `argImageFile` | `string` | ref |

**Returns:** nothing (`void`)

The first overload is an extension method of `IProcessLauncherHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### PostMessage

*No description yet.*

```csharp
void PostMessage(string argProcess, ref string argParameters, IServerDocumentView argContext);
void PostMessage(string argProcess, ref string argParameters, object argContext);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argProcess` | `string` | value |
| `argParameters` | `string` | ref |
| `argContext` | [IServerDocumentView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocumentView.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IProcessLauncherHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

### SendMessage

*No description yet.*

```csharp
void SendMessage(string argProcess, ref string argParameters, IServerDocumentView argContext);
void SendMessage(string argProcess, ref string argParameters, object argContext);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argProcess` | `string` | value |
| `argParameters` | `string` | ref |
| `argContext` | [IServerDocumentView](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IServerDocumentView.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `IProcessLauncherHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.
