# MX\_CLIPBOARD
> [HTML Version](mx_clipboard.htm)
_Reviewed and revised April 2024_
**xcall MIAMEX, MX\_CLIPBOARD, opcode, text \{,status \{,srow, scol, erow, ecol\}\}**
MX\_CLIPBOARD (MIAMEX 105) allows you to retrieve or set the text contents of the clipboard.
This function has both a [subroutine and a print tab implementation](subroutine-print-pairs.htm.md).
**Parameters**
_opcode_ ([Num](num.htm.md)) \[in\]
| **Value** | **Description** |
|------|------|
| 0 (MXOP\_GET) | Retrieve clipboard text contents |
| 1 (MXOP\_SET) | Set clipboard text either from screen coordinates (if non-zero) or from _text_ parameter |
| 2 | Same as 0 but applies to ATE client |
| 3 | Same as 1 but applies to ATE client |
| 5 | Mark area specified by coordinates |
Note that in non-ATE A-Shell/Unix environments, _opcode_ 0 (MXOP\_GET) and 1 (MXOP\_sET) will simulate clipboard operations by reading/writing to a file MEM0:.CLP\[1,1\] if the file exists. If it does not exist, status will be set to -1, the same as if the Windows clipboard could not be opened.
_text_ ([String](string.htm.md)) \[in/out\]
will receive the clipboard text contents for _opcode_ 0 and 2. For _opcode _1 and 3, if you want to specify a string containing the text to copy to the clipboard, then put it in the text parameter and do not specify the _srow_, _scol_, _erow_, and _ecol_ parameters (or set them to 0). Otherwise, if you want to copy a rectangular area of the current screen to the clipboard, then specify the coordinates in the last four parameters, in which case _text_ will be ignored. The maximum effective size for _text_ is about 3K.
_status_ ([Signed Int](integer-signed.htm.md)) \[out\]
| **Value** | **Description** |
|------|------|
| 0 | Success |
| \-1 | Unable to open clipboard; locked? |
| \-2 | Clipboard can be opened but not read, or there is no text available in the clipboard |
| \-3 | Unable to lock memory |
| \-4 | Invalid coordinates |
| \-99 | Failure communicating with ATE client |
_srow,scol,erow,ecol_ ([Num](num.htm.md)) \[in\]
Optional coordinates used with opcodes 1, 3 to specify the screen area to be copied to the clipboard. (Set them all to 0 in order to load the clipboard from the text parameter instead of the screen.) For opcode 5, they specify the screen area to be marked. Ignored for all other opcodes.
**Comments**
Other than the non-GUI A-Shell/Unix case just mentioned, you can safely used _opcodes_ 2 and 3 in place of 0 and 1 (i.e. add +2) without regard to whether the configuration involves ATE or some other Windows architecture (standalone, peer-to-peer, Terminal Server, etc.).
In the Windows environment, MX\_CLIPBOARD internally uses the AG\_CLIPBOARD implementation.
The keyboard command CTRL+SHIFT+ALT+S can also be used to copy the current screen text contents to the clipboard.
**See Also**
• [AG\_CLIPBOARD](ag_clipboard.htm.md)