ふらっとC#,C♯,C#(初心者用) Part52at TECH
ふらっとC#,C♯,C#(初心者用) Part52 - 暇つぶし2ch550:デフォルトの名無しさん
10/01/05 00:36:24
特定のウインドウもしくはexeなどを監視してキー情報を
送ることは可能でしょうか?

551:デフォルトの名無しさん
10/01/05 01:02:36
>>550
再提出
特定のウインドウ(の○○)もしくはexe(の○○)などを監視して
キー情報を(○○へ)送ることは可能でしょうか?

552:デフォルトの名無しさん
10/01/05 01:07:04
細かい部品までは意識しません
送り先が起動してるかどうか確認して要るようなら指定されているキー情報を送るだけです


553:デフォルトの名無しさん
10/01/05 01:15:44
可能だけど、何を条件にするかによって判定する方法は違う
条件を聞いたのに答えなかったから回答もここまでだ

方法は自分で考えろ

554:デフォルトの名無しさん
10/01/05 01:19:06
いやそんな難しい条件ではないんですが・・・

ただ送りたい相手を調べる方法もよくわからないので
ヒントだけでもわかればと思ったんですが・・・

というかここは初心者スレですよね・・・

555:デフォルトの名無しさん
10/01/05 01:22:55
だからその条件を書けといってるんだろうが馬鹿め
話の通じない奴は初心者じゃなくて池沼だっての

556:デフォルトの名無しさん
10/01/05 01:23:46
そうだぞ池沼が

557:デフォルトの名無しさん
10/01/05 01:25:59
その辺がうまく説明できたらここで聞く必要がないと思うのですが・・・

やりたいことは特定アプリのショートカットキーなどを登録したボタンを
フォームに貼り付けて、そのボタンを押した際に送りたいアプリが居れば
sendkeyで送るなどして、居なければ送らないというだけの動作です

558:デフォルトの名無しさん
10/01/05 01:29:28
>>557
URLリンク(msdn.microsoft.com)
これでプロセス一覧を取る
ウィンドウハンドルとパスが入ってるから適当にやればいい

とりあえず十分だと思うが、上の方法は微妙に融通が利かないので
不便だと思ったらまた来い

559:デフォルトの名無しさん
10/01/05 01:42:54
>>558
ありがとうございます


560:デフォルトの名無しさん
10/01/05 01:43:00
>>550-551
549の答えでいんじゃない?

> 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して
前者は
FindWindow→GetWindowThreadProcessIdして
SetWindowsHookExするDLLをDLLの作って
キー入力をSend/PostMessageで流すぐらいかな

後者は自分の頭ではちと大変で
EnumWindows→GetWindowThreadProcessIdで
exe特定するのに逆に辿る必要性がある気がするので
ハッシュリストにマーキングしたりで色々とめんどくさそう

561:548
10/01/05 02:19:10
>>549
キーボードをグローバルフックして、Handled=trueですね、やってみます。


562:デフォルトの名無しさん
10/01/05 02:24:33
グローバルフックはDLLいらんよ知ったか。

563:デフォルトの名無しさん
10/01/05 02:26:09
いつからいらなくなったんだ?

564:548
10/01/05 02:43:44
とりあえず、グローバルフックを使い、
メモ帳上でCtrl+Aを押してもaが入力されるようになりました。

しかし、Altキーの入力を防ごうとしても、Alf+Fでメニューが表示されたり、
Ctrl+Alt+Delでタスクマネージャが出たり、Alt+F4が使えたりします。

これらは仕方がないんですかね?

565:デフォルトの名無しさん
10/01/05 02:43:47
うろ覚えな知識でレスするもんじゃないなぁ

>>562
ありがとう

566:デフォルトの名無しさん
10/01/05 02:50:00
>>564
この辺は?
URLリンク(www.gine.jp)

567:デフォルトの名無しさん
10/01/05 02:50:57
>>564
CallNextHookExに渡すパラメータを何やかんやするとキー入力潰せた気がするけどどうかね

568:デフォルトの名無しさん
10/01/05 03:33:18
MSペイントで文字を画像にした場合と全く同じ結果になるように
Graphics.DrawStringを使用して文字列を画像化しています.

Graphics.DrawString

569:568
10/01/05 03:35:41
とちゅうで投稿しちゃいましたごめんなさい

Graphics.DrawString()の引数でフォントやサイズ,GraphicsUnitはきちんと指定したんですが
どうもMSペイントの場合と結果が異なってる気がします.
アンチエイリアスのせいかと思いすべて試してみたんですが同じ結果にはなりません.

文字描画の設定どうすればMSペイントと機能がおなじになるんでしょうか?

570:デフォルトの名無しさん
10/01/05 04:23:17
コードの難読化のためのツールとしてDotfuscator Community Editionというのが
付属してるような記述をネットで見つけたのですがVisual C# 2008 Express Edition
のような無料の物には付属しないのでしょうか?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch