クリップボードを開き、他のアプリケーションがクリップボードを変更するのを防ぎませす。
#Include <Clipboard.au3>
_ClipBoard_Open($hOwner)
パラメータ
$hOwner | 開いたクリップボードに関連付けるウィンドウのハンドル。このパラメータが0の場合、開いたクリップボードは現在のタスクと関連付けられます。. |
返し値
成功: | True |
失敗: | False |
注意
他のウィンドウがクリップボードを開いている場合、この関数は失敗します。この関数の呼び出しが成功した後は毎回、_ClipBoard_Close関数の呼び出しをおこなってください。$hOwnerパラメータで識別されるウィンドウは_ClipBoard_Empty関数が呼ばれない限り、クリップボード所有者にはなりません。0に設定されたhwndで_ClipBoard_Openを呼んだ場合、_ClipBoard_Emptyはクリップボード所有者を0に設定します。これは_ClipBoard_SetDataの失敗を引き起こします。
関連
_ClipBoard_Close, _ClipBoard_Empty, _ClipBoard_EnumFormats, _ClipBoard_GetOpenWindow, _ClipBoard_SetDataEx
こちらも参照
MSDNライブラリでOpenClipboardを検索して下さい。
例
#include <WindowsConstants.au3>
#include <GuiConstantsEx.au3>
#include <ClipBoard.au3>
#include <WinAPI.au3>
Opt('MustDeclareVars', 1)
Global $iMemo
_Main()
Func _Main()
Local $hGUI
; GUI作成
$hGUI = GUICreate("Clipboard", 600, 400)
$iMemo = GUICtrlCreateEdit("", 2, 2, 596, 396, $WS_VSCROLL)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
GUISetState()
; クリップボードを開く
If Not _ClipBoard_Open ($hGUI) Then _WinAPI_ShowError ("_ClipBoard_Open failed")
ShowData($hGUI)
; クリップボードを閉じる
_ClipBoard_Close ()
; ユーザーが終了させるまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; クリップボード情報を表示
Func ShowData($hGUI)
MemoWrite("GUI handle ............: " & $hGUI)
MemoWrite("Clipboard owner .......: " & _ClipBoard_GetOwner ())
MemoWrite("Clipboard open window .: " & _ClipBoard_GetOpenWindow ())
MemoWrite("Clipboard sequence ....: " & _ClipBoard_GetSequenceNumber ())
MemoWrite()
EndFunc ;==>ShowData
; メモにメッセージを書き込む
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite