Öffnet die Zwischenablage und verhindert deren Veränderung durch andere Anwendungen
#include <Clipboard.au3>
_ClipBoard_Open ( $hOwner )
$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. |
Erfolg: | True |
Fehler: | False |
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.
_ClipBoard_Close, _ClipBoard_Empty, _ClipBoard_EnumFormats, _ClipBoard_GetOpenWindow, _ClipBoard_SetDataEx
Suche nach OpenClipboard in der MSDN Bibliothek.
#include <Clipboard.au3>
#include <GUIConstantsEx.au3>
#include <WinAPIError.au3>
#include <WindowsConstants.au3>
Global $g_idMemo
Example()
Func Example()
Local $hGui
; Erstellt eine GUI
$hGui = GUICreate("Clipboard", 600, 400)
$g_idMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
GUICtrlSetFont($g_idMemo, 9, 400, 0, "Courier New")
GUISetState(@SW_SHOW)
; Öffnet die Zwischenablage
If _ClipBoard_Open($hGui) Then
ShowData($hGui)
; Schließt die Zwischenablage
_ClipBoard_Close()
Else
_WinAPI_ShowError("_ClipBoard_Open fehlgeschlagen")
EndIf
; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst.
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example
; 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($g_idMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite