Funktionsreferenz

_ClipBoard_Open

Öffnet die Zwischenablage und verhindert deren Veränderung durch andere Anwendungen

#Include <Clipboard.au3>
_ClipBoard_Open($hOwner)

 

Parameter

$hOwner Handle zu einem Fenster, das mit der geöffneten Zwischenablage verbunden sein soll. Wenn der Parameter 0 ist, wird die geöffnete Zwischenablage mit dem aktuellen Prozess verbunden.

 

Rückgabewert

Erfolg: True
Fehler: False

 

Bemerkungen

Der Funktionsaufruf schlägt fehl, wenn ein anderes Fenster die Zwischenablage bereits geöffnet hat. Die _ClipBoard_Close Funktion sollte deshalb nach jedem erfolgreichen Aufruf dieser Funktion aufgerufen werden. Das durch $hOwner identifizierte Fenster wird nicht Besitzer der Zwischenablage, bis _ClipBoard_Empty aufgerufen wird. Wenn _ClipBoard_Open mit $hOwner = 0 aufgerufen wird, setzt _ClipBoard_Empty den Besitzer der Zwischenablage auf 0, so dass _ClipBoard_SetData fehlschlägt.

 

Verwandte Funktionen

_ClipBoard_Close, _ClipBoard_Empty, _ClipBoard_EnumFormats, _ClipBoard_GetOpenWindow, _ClipBoard_SetDataEx

 

Siehe auch

Suche in der MSDN Bibliothek nach OpenClipboard

 

Beispiel


#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <ClipBoard.au3>
#include <WinAPI.au3>

Opt('MustDeclareVars', 1)

Global $iMemo

_Main()

Func _Main()
    Local $hGUI

    ; Erstellt eine GUI
    $hGUI = GUICreate("Clipboard", 600, 400)
    $iMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Öffnet die Zwischenablage
    If Not _ClipBoard_Open($hGUI) Then _WinAPI_ShowError("_ClipBoard_Open fehlgeschlagen")

    ShowData($hGUI)

    ; Schließt die Zwischenablage
    _ClipBoard_Close()

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

EndFunc   ;==>_Main

; Zeigt die Statistik der Zwischenablage
Func ShowData($hGUI)
    MemoWrite("GUI Handle ................: " & $hGUI)
    MemoWrite("Clipboard Besitzer ........: " & _ClipBoard_GetOwner())
    MemoWrite("Für Clipboard geöffnetes Fenster .: " & _ClipBoard_GetOpenWindow())
    MemoWrite("Clipboard Sequenz .........: " & _ClipBoard_GetSequenceNumber())
    MemoWrite()
EndFunc   ;==>ShowData

; Schreibt eine Nachricht in das Memo
Func MemoWrite($sMessage = "")
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite