C#でクリップボードチェイン – プログラミング – Home

C#でクリップボードチェイン
 
通知
すべてクリア

[解決済] C#でクリップボードチェイン


scapos
 scapos
(@scapos)
ゲスト
結合: 22年前
投稿: 7
Topic starter  

初めて書き込みします。よろしくお願いします。
クリップボードのデータが更新されたらデータを加工してExcelにデータを
渡すというプログラムをVC#で組みたいのですが、VC6++でいうところの
SetClipboardViewerみたいな関数はいったいどのクラスにあるんでしょうか。
System.Windows.Form.Clipboardにはないみたいだし・・・。
1日中MSDNとにらめっこしましたが、どうにも見つかりません。
どなたかキーワードだけでも教えてください!!


引用未解決
トピックタグ
C#
MASATO
 MASATO
(@MASATO)
ゲスト
結合: 22年前
投稿: 53
 

C#のクラスライブラリにWin32APIのSetClipboardViewerにあたるものが
無いのではないでしょうか。(未確認)

http://www.atmarkit.co.jp/

http://www.atmarkit.co.jp/fdotnet/csharp_abc/csharp_abc_020/csharp_abc04.html
あたりを参考にしてWin32APIを直接呼び出してみてはどうでしょうか。

ウィンドウハンドルは
System.Windows.Form.Control.Handle プロパティあたりで
取得できそうです。(未確認)


返信引用
scapos
 scapos
(@scapos)
ゲスト
結合: 22年前
投稿: 7
Topic starter  

MASATOさん、すばやい回答ありがとうございます。
御紹介のホームページを参考にDllImportディレクティブ
からSetClipboardViewerを呼び出そうと思うのですが
当方かなりのVC#初心者でまだわからない点があります。

一つ目:
ウィンドウハンドルの取得は↓のような感じでいいんでしょうか??

[DllImport(user32.dll)]
  public static extern System.IntPtr SetClipboardViewer();
・・・・・・・・・
System.IntPtr nextHandle = SetClipboardViewer();

二つ目:
VC++でいうメッセージマップみたいなものがVC#にはないみたいですが
クリップボードの内容が変更されたときに発生するイベントはどこで
アタッチばいいのでしょうか。

なんか基本がわかってないような質問で、顔洗って出直してくる用意は
出来てますが、もすこしお付き合いいただけたら幸いです。


返信引用
匿名
 匿名
(@匿名)
ゲスト
結合: 1秒前
投稿: 0
 

しつこくインターネットで探していたらまさにずばりのコードを見つけました。
http://www.codeproject.com/csharp/clipboardformatviewer.asp
やっぱりVC#のクラスライブラリにはSetClipboardViewerに相当するものは
ないみたいですね。ちょっと裏技的のような手法ですが解決いたしました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました