Ö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