C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: C#でグローバルフック


(過去ログ 120 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■70235 / inTopicNo.1)  C#でグローバルフック
  
□投稿者/ a (11回)-(2014/03/04(Tue) 09:45:35)

分類:[雑談] 

ちょっと気になったので質問。
No70226 のなかで「グローバルフックですが、これを C# で作ることはできません」
となっていますが、なぜでしょうか。

また、googleで「C# グローバルフック」と検索するといくつかサイトが表示させるのですが、勘違いしたプログラムが載っているのでしょうか。
それとも「C#」ではなく「managedなコードのみという意味」でしょうか。
引用返信 編集キー/
■70237 / inTopicNo.2)  Re[1]: C#でグローバルフック
□投稿者/ Hongliang (178回)-(2014/03/04(Tue) 10:26:25)
http://support.microsoft.com/kb/319524/ja
ここなど。

> また、googleで「C# グローバルフック」と検索するといくつかサイトが表示させるのですが、勘違いしたプログラムが載っているのでしょうか。

WH_KEYBOARD_LLおよびWH_MOUSE_LLでのグローバルフックに関しては、一般的なグローバルフックとはフック方法が異なるため、C#などでも実装可能です。

> それとも「C#」ではなく「managedなコードのみという意味」でしょうか。

確かに正しくは言語の問題ではなく、コンパイラの問題です。
引用返信 編集キー/
■70238 / inTopicNo.3)  Re[1]: C#でグローバルフック
□投稿者/ shu (500回)-(2014/03/04(Tue) 10:29:51)
No70235 (a さん) に返信
> ちょっと気になったので質問。
> No70226 のなかで「グローバルフックですが、これを C# で作ることはできません」
> となっていますが、なぜでしょうか。
>
> また、googleで「C# グローバルフック」と検索するといくつかサイトが表示させるのですが、勘違いしたプログラムが載っているのでしょうか。
> それとも「C#」ではなく「managedなコードのみという意味」でしょうか。
ざっと検索してみたところキーボード、マウスなどは一応出来るけどウィンドウは無理っぽい感じでした。
APIに渡せる関数ポインタの扱いが.NetFrameworkにはないからのような感じでした。
引用返信 編集キー/
■70250 / inTopicNo.4)  Re[2]: C#でグローバルフック
□投稿者/ a (13回)-(2014/03/04(Tue) 14:39:35)
返信ありがとうございました。

No70237 (Hongliang さん) に返信
> http://support.microsoft.com/kb/319524/ja
>
「NET Framework では DLL エクスポートがサポートされていません。」ですね。
なんとなくわかりました。(Depedency Walkerで見た時に関数名が出てこないということ?)

No70235 (a さん) に返信
> ざっと検索してみたところキーボード、マウスなどは一応出来るけどウィンドウは無理っぽい感じでした。
> APIに渡せる関数ポインタの扱いが.NetFrameworkにはないからのような感じでした。
>
ちょこちょこっとプログラム書いてみたところ、WH_KEYBOARD_LL, WH_MOUSE_LLはできたみたいです。
WH_CALLWNDPROC 渡したら「1428:Cannot set nonlocal hook without a module handle. ???」で怒られていました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -