Function Reference

_ClipBoard_Open

クリップボードを開き、他のアプリケーションがクリップボードを変更するのを防ぎませす。

#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