クリップボードビューアチェインの最初のウィンドウのハンドルを取得します。
#Include <Clipboard.au3>
_ClipBoard_GetViewer()
パラメータ
なし。
返し値
成功: | クリップボードビューアチェインの最初のウィンドウのハンドル |
失敗: | クリップボードビューアが存在しない場合、ゼロ |
注意
なし。
関連
_ClipBoard_SetViewer
こちらも参照
MSDNライブラリでGetClipboardViewerを検索して下さい。
例
#include <GuiConstantsEx.au3>
#include <ClipBoard.au3>
#include <WindowsConstants.au3>
#include <SendMessage.au3>
Opt('MustDeclareVars', 1)
Global $iMemo, $hNext = 0
_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()
; クリップボードビューア初期化
$hNext = _ClipBoard_SetViewer ($hGUI)
GUIRegisterMsg($WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN")
GUIRegisterMsg($WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD")
MemoWrite("GUI handle ....: " & $hGUI)
MemoWrite("Viewer handle .: " & _ClipBoard_GetViewer())
; ユーザーが終了させるまでループ
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; クリップボードビューア シャットダウン
_ClipBoard_ChangeChain ($hGUI, $hNext)
EndFunc ;==>_Main
; メモにメッセージを書き込む
Func MemoWrite($sMessage = "")
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite
; $WM_CHANGECBCHAINメッセージを処理
Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
; メッセージ受信を表示
MemoWrite("***** $WM_CHANGECBCHAIN *****")
; 次のウィンドウが閉じられたら、チェインを修復
If $iwParam = $hNext Then
$hNext = $ilParam
; またはメッセージを次のビューアに渡す
ElseIf $hNext <> 0 Then
_SendMessage ($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, "hwnd", "hwnd")
EndIf
EndFunc ;==>WM_CHANGECBCHAIN
; $WM_DRAWCLIPBOARDメッセージを処理
Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
; クリップボード上の全テキストを表示
MemoWrite(_ClipBoard_GetData ())
; メッセージを次のビューアに渡す
If $hNext <> 0 Then _SendMessage ($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
EndFunc ;==>WM_DRAWCLIPBOARD