Przejdź do zawartości

AutoIt/Schowek systemowy (Clipboard)

Z Wikibooks, biblioteki wolnych podręczników.

_ClipBoard_Open

[edytuj]
#include <Clipboard.au3>
_ClipBoard_Open ( $hOwner )

Funkcja otwiera schowek systemowy, jednocześnie blokując możliwość zmian jego zawartości przez inne programy. Zwraca True gdy sukces, lub False gdy wystąpił błąd.

$hOwner - uchwyt okna, które ma być powiązane z otwartym schowkiem.

UWAGA:

1. Funkcja nie zadziała jeżeli schowek został wcześniej otwarty w innym oknie.

2. Aby zwolnić schowek, po każdym jego pomyślnym otwarciu, należy go zamknąć wywołując funkcję _ClipBoard_Close.

3. Okno zidentyfikowane przez parametr $hOwner nie staje się automatycznie właścicielem schowka lecz dopiero po wywoływaniu funkcji _ClipBoard_Empty().

4. Wywołanie _ClipBoard_Open() z parametrem NULL powoduje, że schowek po wywołaniu funkcja _ClipBoard_Empty() nie będzie miał właściciela i funkcja _ClipBoard_SetData() nie zadziała.


_ClipBoard_Close

[edytuj]
#include <Clipboard.au3>
_ClipBoard_Close ( )

Funkcja zamyka schowek systemowy. Zwraca True gdy sukces, lub False gdy wystąpił błąd.

Funkcję należy użyć po wykonaniu wszystkich działań na schowku, aby umożliwić dostęp do niego przez inne okna.


_ClipBoard_Empty

[edytuj]
#include <Clipboard.au3>
_ClipBoard_Empty ( )

Funkcja opróżnia schowek i uwalnia uchwyty do danych w nim zawartych. Zwraca True gdy sukces, lub False gdy wystąpił błąd.

UWAGA:

1. Przed wywołaniem tej funkcji, należy otworzyć schowek za pomocą funkcji _ClipBoard_Open().

2. Jeżeli schowek otwarto z parametrem NULL funkcja spowoduje jego wyczyszczenie, ale właściciel okna zostanie ustawiony także na NULL (czyli schowek nie będzie miał właściciela) i wywołane dalej funkcje _ClipBoard_SetData() nie zadziałają.


_ClipBoard_GetData

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetData ( [$iFormat = 1] )

Funkcja pobiera dane ze schowka w określonym formacie. Zwraca tekst (dla danych tekstowych) lub łańcuch binarny (dla danych wszystkich pozostałych typów). Makro @extended przyjmuje ilość pobranych znaków lub bajtów.

$iFormat - określa sposób traktowania danych pobranych ze schowka:

Stała              | Wartość | Opis
---------------------------------------------------------------------------------------------      
$CF_TEXT           |       1 | Tekst (wartość domyślna)
$CF_BITMAP         |       2 | Uchwyt do bitmapy
$CF_METAFILEPICT   |       3 | Uchwyt do metapliku obrazu (METAFILEPICT)
$CF_SYLK           |       4 | Format Microsoft Symbolic Link (SYLK) - dowiązanie symboliczne
$CF_DIF            |       5 | Format wymiany danych (DIF)
$CF_TIFF           |       6 | Format TIFF
$CF_OEMTEXT        |       7 | Format tekstowy zawierający znaki z zestawu znaków OEM
$CF_DIB            |       8 | Blok   danych   rozpoczynający   się   od   struktury   BITMAPINFO   
                   |         | i zawierający mapę bitową
$CF_PALETTE        |       9 | Uchwyt do palety kolorów
$CF_PENDATA        |      10 | Data for the pen extensions to Pen Computing
$CF_RIFF           |      11 | Dane audio w formacie RIFF
$CF_WAVE           |      12 | Dane audio w formacie WAVE
$CF_UNICODETEXT    |      13 | Tekst UNICODE
$CF_ENHMETAFILE    |      14 | Uchwyt do obrazu typu enhanced metafile (HENHMETAFILE)
$CF_HDROP          |      15 | Uchwyt do typu HDROP, który identyfikuje listę plików
$CF_LOCALE         |      16 | Handle to the locale identifier associated with text in the clipboard
$CF_DIBV5          |      17 | BITMAPV5HEADER structure followed by bitmap color and the bitmap bits
$CF_OWNERDISPLAY   |  0x0080 | Owner display format
$CF_DSPTEXT        |  0x0081 | Text display format associated with a private format
$CF_DSPBITMAP      |  0x0082 | Bitmap display format associated with a private format
$CF_DSPMETAFILEPICT|  0x0083 | Metafile picture display format associated with a private format
$CF_DSPENHMETAFILE |  0x008E | Enhanced metafile display format associated with a private format
$CF_PRIVATEFIRST   |  0x0200 | Range of integer values for private clipboard formats
$CF_PRIVATELAST    |  0x02FF | Range of integer values for private clipboard formats
$CF_GDIOBJFIRST    |  0x0300 | Range for (GDI) object clipboard formats
$CF_GDIOBJLAST     |  0x03FF | Range for (GDI) object clipboard formats


_ClipBoard_GetDataEx

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetDataEx ( [$iFormat = 1] )

Funkcja pobiera uchwyt do obiektu schowka w określonym formacie, lub 0 gdy wystąpił błąd.

$iFormat - określa sposób traktowania danych w schowku (jak dla _ClipBoard_GetData).


_ClipBoard_SetData

[edytuj]
#include <Clipboard.au3>
_ClipBoard_SetData ( $vData [, $iFormat = 1] )

Funkcja wprowadza dane w określonym formacie do schowka. Zwraca uchwyt do tych danych, lub 0 gdy wystąpił błąd.

$vData - dane w formacie binarnym, string lub wartość NULL (format musi być określony w $iFormat).

$iFormat - format danych w schowku, jak dla _ClipBoard_GetData. Domyślna wartość 1 oznacza tekst (string).


_ClipBoard_SetDataEx

[edytuj]
#include <Clipboard.au3>
_ClipBoard_SetDataEx ( ByRef $hMemory [, $iFormat = 1] )

Funkcja wprowadza dane w określonym formacie do schowka. Zwraca uchwyt do tych danych, lub 0 gdy wystąpił błąd.

$hMemory - uchwyt do danych wprowadzanych do schowka

$iFormat - format danych w schowku, jak dla _ClipBoard_GetData. Domyślna wartość 1 oznacza tekst (string).


_ClipBoard_ChangeChain

[edytuj]
#include <Clipboard.au3>
_ClipBoard_ChangeChain ( $hRemove, $hNewNext )


_ClipBoard_CountFormats

[edytuj]
#include <Clipboard.au3>
_ClipBoard_CountFormats ( )


_ClipBoard_EnumFormats

[edytuj]
#include <Clipboard.au3>
_ClipBoard_EnumFormats ( $iFormat )


_ClipBoard_FormatStr

[edytuj]
#include <Clipboard.au3>
_ClipBoard_FormatStr ( $iFormat )


_ClipBoard_GetFormatName

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetFormatName ( $iFormat )


_ClipBoard_GetOpenWindow

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetOpenWindow ( )


_ClipBoard_GetOwner

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetOwner ( )


_ClipBoard_GetPriorityFormat

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetPriorityFormat ( $aFormats )


_ClipBoard_GetSequenceNumber

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetSequenceNumber ( )


_ClipBoard_GetViewer

[edytuj]
#include <Clipboard.au3>
_ClipBoard_GetViewer ( )


_ClipBoard_IsFormatAvailable

[edytuj]
#include <Clipboard.au3>
_ClipBoard_IsFormatAvailable ( $iFormat )


_ClipBoard_RegisterFormat

[edytuj]
#include <Clipboard.au3>
_ClipBoard_RegisterFormat ( $sFormat )


_ClipBoard_SetViewer

[edytuj]
#include <Clipboard.au3>
_ClipBoard_SetViewer ( $hViewer )