- 1 名前:デフォルトの名無しさん mailto:sage [2009/12/26(土) 13:27:03 ]
- このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980を踏んだ人は新スレを建てて下さい。 >>980が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part51 pc12.2ch.net/test/read.cgi/tech/1261186507/ 関連スレ C#, C♯, C#相談室 Part55(実質56) pc12.2ch.net/test/read.cgi/tech/1260111240/ WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4 pc12.2ch.net/test/read.cgi/tech/1245384489/
- 548 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 00:01:24 ]
- 特定のキー入力を受け付けない、ということは出来ませんかね?
左CtrlキーやAキーなど、入力されても他のウィンドウにはメッセージ送らない、みたいな。
- 549 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 00:26:50 ]
- >>548
キー入力全部いったん食ってから、特定のキーのときだけhandled=trueにしてしまう手はある。 グローバルフックでキー拾えばウィンドウまたがったキー入力拾いも可能。
- 550 名前:デフォルトの名無しさん [2010/01/05(火) 00:36:24 ]
- 特定のウインドウもしくはexeなどを監視してキー情報を
送ることは可能でしょうか?
- 551 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:02:36 ]
- >>550
再提出 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して キー情報を(○○へ)送ることは可能でしょうか?
- 552 名前:デフォルトの名無しさん [2010/01/05(火) 01:07:04 ]
- 細かい部品までは意識しません
送り先が起動してるかどうか確認して要るようなら指定されているキー情報を送るだけです
- 553 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:15:44 ]
- 可能だけど、何を条件にするかによって判定する方法は違う
条件を聞いたのに答えなかったから回答もここまでだ 方法は自分で考えろ
- 554 名前:デフォルトの名無しさん [2010/01/05(火) 01:19:06 ]
- いやそんな難しい条件ではないんですが・・・
ただ送りたい相手を調べる方法もよくわからないので ヒントだけでもわかればと思ったんですが・・・ というかここは初心者スレですよね・・・
- 555 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:22:55 ]
- だからその条件を書けといってるんだろうが馬鹿め
話の通じない奴は初心者じゃなくて池沼だっての
- 556 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:23:46 ]
- そうだぞ池沼が
- 557 名前:デフォルトの名無しさん [2010/01/05(火) 01:25:59 ]
- その辺がうまく説明できたらここで聞く必要がないと思うのですが・・・
やりたいことは特定アプリのショートカットキーなどを登録したボタンを フォームに貼り付けて、そのボタンを押した際に送りたいアプリが居れば sendkeyで送るなどして、居なければ送らないというだけの動作です
- 558 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:29:28 ]
- >>557
msdn.microsoft.com/ja-jp/library/1f3ys1f9%28VS.80%29.aspx これでプロセス一覧を取る ウィンドウハンドルとパスが入ってるから適当にやればいい とりあえず十分だと思うが、上の方法は微妙に融通が利かないので 不便だと思ったらまた来い
- 559 名前:デフォルトの名無しさん [2010/01/05(火) 01:42:54 ]
- >>558
ありがとうございます
- 560 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 01:43:00 ]
- >>550-551
549の答えでいんじゃない? > 特定のウインドウ(の○○)もしくはexe(の○○)などを監視して 前者は FindWindow→GetWindowThreadProcessIdして SetWindowsHookExするDLLをDLLの作って キー入力をSend/PostMessageで流すぐらいかな 後者は自分の頭ではちと大変で EnumWindows→GetWindowThreadProcessIdで exe特定するのに逆に辿る必要性がある気がするので ハッシュリストにマーキングしたりで色々とめんどくさそう
- 561 名前:548 mailto:sage [2010/01/05(火) 02:19:10 ]
- >>549
キーボードをグローバルフックして、Handled=trueですね、やってみます。
- 562 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:24:33 ]
- グローバルフックはDLLいらんよ知ったか。
- 563 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:26:09 ]
- いつからいらなくなったんだ?
- 564 名前:548 mailto:sage [2010/01/05(火) 02:43:44 ]
- とりあえず、グローバルフックを使い、
メモ帳上でCtrl+Aを押してもaが入力されるようになりました。 しかし、Altキーの入力を防ごうとしても、Alf+Fでメニューが表示されたり、 Ctrl+Alt+Delでタスクマネージャが出たり、Alt+F4が使えたりします。 これらは仕方がないんですかね?
- 565 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:43:47 ]
- うろ覚えな知識でレスするもんじゃないなぁ
>>562 ありがとう
- 566 名前:デフォルトの名無しさん [2010/01/05(火) 02:50:00 ]
- >>564
この辺は? www.gine.jp/blog/taka/post/Ce381a6e382afe383ade383bce3838fe383abe38395e38383e382afe381aee4bdbfe794a8efbc86ALTefbc8bCTRLe38282e38395e38383e382af.aspx
- 567 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 02:50:57 ]
- >>564
CallNextHookExに渡すパラメータを何やかんやするとキー入力潰せた気がするけどどうかね
- 568 名前:デフォルトの名無しさん mailto:sage [2010/01/05(火) 03:33:18 ]
- MSペイントで文字を画像にした場合と全く同じ結果になるように
Graphics.DrawStringを使用して文字列を画像化しています. Graphics.DrawString
- 569 名前:568 mailto:sage [2010/01/05(火) 03:35:41 ]
- とちゅうで投稿しちゃいましたごめんなさい
Graphics.DrawString()の引数でフォントやサイズ,GraphicsUnitはきちんと指定したんですが どうもMSペイントの場合と結果が異なってる気がします. アンチエイリアスのせいかと思いすべて試してみたんですが同じ結果にはなりません. 文字描画の設定どうすればMSペイントと機能がおなじになるんでしょうか?
- 570 名前:デフォルトの名無しさん [2010/01/05(火) 04:23:17 ]
- コードの難読化のためのツールとしてDotfuscator Community Editionというのが
付属してるような記述をネットで見つけたのですがVisual C# 2008 Express Edition のような無料の物には付属しないのでしょうか?
|

|