VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 クリップボード関係のメニュー
1.VB6.0からクリップボードを利用する
2.ショートカットを操作してのコピー・貼り付け・切り取り・元に戻す
3.スナップショットをファイルに保存及び印刷
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.


2.ショートカットを操作してのコピー・貼り付け・切り取り・元に戻す
1.VB6.0の機能の SendKeys ステートメントを使ってショートカットを操作する
2.Win32 API 関数を使ってショートカットを操作する
3. 
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:
使用 API:

その他 :このサンプルは、 Win32 APIを使用しておりますので、ある程度Win32 API が理解できる方がお使い下さい。
    :
このページのトップへ移動します。 1.VB6.0の機能の SendKeys ステートメントを使ってショートカットを操作する SampleNo.054
SendKeys ステートメント
キーストロークまたはキーストロークの組み合わせを、キーボードから入力したときと同様にアクティブウィンドウに渡します。

  SendKeys "^C"  'Ctrlキー+Cキーを送ります(コピー)

  SendKeys "^Z"  'Ctrlキー+Zキーを送ります(元に戻す)

  SendKeys "^X"  'Ctrlキー+Xキーを送ります(切り取り)

  SendKeys "^V"  'Ctrlキー+Vキーを送ります(貼り付け)


SendKeys ステートメントは、OS によっては、誤作動や割り込みが入ったりとうまく動作しない場合があるのでご使用環境で十分テストしてから使用して下さい。
・複数の SendKeys ステートメントが実行されると NumLock キーがオフになる
・Vista/VB6.0の環境で SendKeys で実行時エラー'70'が発生

動作に問題がなければ、簡単にクリップボードの操作ができ便利ですよね。

このページのトップへ移動します。 2.Win32 API 関数を使ってショートカットを操作する

Option Explicit   'SampleNo=124 2002.03.29

'指定のウィンドウにメッセージを送る(P750)
Private Declare Function SendMessage Lib "user32" _
  Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
  ByVal wParam As Long, lParam As Any) As Long

Private Const WM_COPY = &H301    'コピー (P837)
Private Const WM_CUT = &H300    '切り取り(P840)
Private Const WM_PASTE = &H302   '貼り付け(P876)
Private Const WM_UNDO = &H304    '元に戻す(P892)

Private Sub Command1_Click()
'コピー
  Dim lngRet As Long
  lngRet = SendMessage(Text1.hwnd, WM_COPY, 0, 0)
End Sub

Private Sub Command2_Click()
'貼り付け
  Dim lngRet As Long
  lngRet = SendMessage(Text1.hwnd, WM_PASTE, 0, 0)
End Sub

Private Sub Command3_Click()
'元に戻す
  Dim lngRet As Long
  lngRet = SendMessage(Text1.hwnd, WM_UNDO, 0, 0)
End Sub

Private Sub Command4_Click()
'切り取り
  Dim lngRet As Long
  lngRet = SendMessage(Text1.hwnd, WM_CUT, 0, 0)
End Sub

動作自体は、SendKeys ステートメントを使った方法と同じですが、こちらは、Win32 API 関数の SendMessage を使ってのショートカットキーの操作ですので、OS による誤動作や割り込みが入る事はありませんが、Win32 API 関数を使っておりますのでその分操作が少し複雑で面倒です。

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)
クリップボードをクリアする クリップボードの中身をクリアする
ショートカット コピー 貼り付け 切り取り 元に戻す



このページのトップへ移動します。