[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 10/20 11:55 / Filesize : 104 KB / Number-of Response : 571
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part52



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/


461 名前:デフォルトの名無しさん [2010/01/02(土) 07:07:13 ]
おかしな挙動ではまってるのでアドバイスいただければと思います。

デスクトップ上の始点と終点を指定するとその範囲だけを
スクリーンショットとして保存するソフトです。

半透明で表示するフォームにラベルx4とpictureBoxを使っています。
ラベルx4の内、x2には始点と終点のXY座標を表示しています。
問題の挙動というのがpictureBoxをフォームにドッキングしてしまうと
ラベルのテキストがまったく更新されないという物です。

pictureBoxのドッキングを解除してフォームより小さいサイズに
するとラベルのテキストが更新されます。

対処方法とか何かありますでしょうか?

462 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 13:10:13 ]
このスレからクソ内容の書き込みを特定するLINQつくってみた

var a = from L in このスレ where 内容がクソ select 数値

a = 462

463 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 13:11:29 ]
>>461
再現できるコードplease

464 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 15:18:43 ]
>>461
windows付属のsnipping toolを使う

465 名前:デフォルトの名無しさん [2010/01/02(土) 16:20:56 ]
今、業務用Windowsフォームアプリケーションを作成しています。
その中で、ローカルPCの所定の場所に、重要データをテキストデータで保存できるようにしたいのですが、
個人情報はないものの、機密データでもありますので、テキストデータ保存時に暗号化したいと考えています。

C#で、そのような暗号化の機能はありますでしょうか。

ご教示ください。

466 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:23:15 ]
System.Security.Cryptography.Rijndaelとか使えば

↓暗号化したって無駄だとかそういう突っ込みはいい
質問者が良いって言ってるんだから話をこじらせようとすんな黙れ

467 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:24:46 ]
はい、ありますよ。

468 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:25:47 ]
突然なんなのw
そう言われると指摘したくなるなぁ。

469 名前:デフォルトの名無しさん [2010/01/02(土) 16:43:07 ]
>>467
どのような方法があるの?僕にも教えてください。



470 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 16:49:29 ]
もう出てるけど、この辺をどうぞ。

System.Security.Cryptography 名前空間
msdn.microsoft.com/ja-jp/library/system.security.cryptography.aspx

471 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:00:03 ]
ドットネットで完結しようとしないでOSの機能とか調べてみたらいいのに

472 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:15:50 ]
>>466
> ↓暗号化したって無駄だとかそういう突っ込みはいい
なんらかの形で、それなりの長さのパスワード入力させれば、無駄ということはないんじゃないか?

473 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 18:55:43 ]
歌の一フレーズ入力させるとかあったな。

474 名前:デフォルトの名無しさん [2010/01/02(土) 20:32:50 ]
>>463
遅くなりました
一式まるまるです
uproda.2ch-library.com/201913msf/lib201913.zip

とりあえずpictureBoxはドッキングしてません
私の環境ではpictureBoxをフォームにドッキングするとlabelの更新がおかしくなります。

windowsXP home SP3
VC#2008Express
.netF 3.5

475 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 20:34:14 ]
このスレからクソ内容の書き込みを抽出するLINQ

from このスレ select クソ内容の書き込み

476 名前:デフォルトの名無しさん mailto:sage [2010/01/02(土) 21:44:08 ]
>>474
まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ)
のpicturebox1をドックすると期待した動作にならない、って話?

ラベルを更新するコードがformのMouseMoveイベントに書いてあるんだから当たり前じゃん。

フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから
マウスイベントはんて発生するわけないでしょ。

477 名前:474 [2010/01/02(土) 21:53:49 ]
>>476
>まさかとは思うけど、そのコードでscreencap_rec(どうでもいいけどもうちょっと命名工夫しようよ)
みなさんはどういう感じでやってるんでしょうか?
頭の中に思い描いたプログラムを急いであれこれ実装してたので
命名まではあまり考えてませんでした

>フォームの全辺にドックしたらformのクライアント領域の全部をpictureboxが覆うんだから
>マウスイベントはんて発生するわけないでしょ。
あーなるほど・・・
つまりformのMouseイベントで処理してるところをpictureboxでやればいいんですね

478 名前:デフォルトの名無しさん [2010/01/02(土) 22:39:38 ]
SATA のポート番号何番にどのハードディスクが刺さってるか知るには
どうしたらいいでしょうか?

WMI 使うのかなとは思ったんですが、どの namespace と class 使えばいいか
わからなかったので、よろしくおねがいします。

479 名前:デフォルトの名無しさん [2010/01/03(日) 00:06:52 ]
shift+tabキーでカーソルが入ったときにも
Enterイベントを発動させるにはどうすればいいですか?



480 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 00:11:43 ]
別に何もしなくても発生するけど?

481 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 00:21:13 ]
保存形式を独自の物にしたいと考えたのですが(他のアプリケーションでは開けない)
そこで考えたのがAES等による暗号化を施そうと考えました。
こういった場合にAES暗号化時に用いる鍵、IV情報はプログラム的に毎回同じものを生成するようにしておいたほうがいいのでしょうか?

482 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 08:05:10 ]
変数名とnewの名前同じなのにいちいち二回かくのめんどい

abcde a= new abcde();
だったらabcdeが二回あってしつこい

a= new ebcde();
でよくね?
一回で済ます方法ないの?

483 名前:482 mailto:sage [2010/01/03(日) 08:10:24 ]
new abcde() a;
解決しましたありがとうございます。

484 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:20:06 ]
var つかえ

485 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:33:44 ]
インテリセンスを使わない理由がわからない

486 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:45:58 ]
AClass a = new までうてば AClass() が補完候補にでてくるもんな。
var だとそうはいかない。

487 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 11:51:46 ]
C#にvarなんてあったのか!

488 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:00:06 ]
何でも入る変数ではないぞ。コンパイル時に型推論してくれるだけだ。

489 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:07:16 ]
拡張メソッドって何ですか?
Wikipedia見て見たけどよくわかんないです;



490 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 12:27:34 ]
ポリモーフのルールがわからん

たとえば
void func(AClass);
なメソッドがあったとして
Object o=new AClass();
でfunc(o)はダメ
AClass a =new AClass();
func(a);は大丈夫
AClassを敬称してるBClassについては
BClass b = new BClass();
AClass a = new BClass();
のばあいfunc(b)、func(a)両方大丈夫

でOKなのか?

491 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 13:05:13 ]
>>490
関数の引数の多態性は静的多態だからなぁ。
変数の型(new した方じゃなくて、 o とか a とか b の宣言時の型)に基づく。
それがキャスト可能かどうかがすべて。

492 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 17:35:04 ]
>>489
MyFunctions.Foo(hoge);

というstaticメソッド呼び出しを

hoge.Foo()

と書けるようにする仕組み。

493 名前:デフォルトの名無しさん [2010/01/03(日) 17:56:54 ]
C#でoracleと接続する方法を教えて下さい
C#はExpressEdition 2008で
oracleは11g_home1です
かなり初心者ですので
一から教えていただけるとありがたいです

494 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 18:03:11 ]
ODP.NETを使います。Oracleのサイトにやり方が載ってるので、
それを参考にしてください。

495 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:28:09 ]
金払って教えてもらうレベルのことをただで丁寧に教えろという神経がわからん

496 名前:デフォルトの名無しさん [2010/01/03(日) 20:29:57 ]
まず、コンピュータを購入します

497 名前:デフォルトの名無しさん [2010/01/03(日) 20:31:26 ]
>>495
そう思ったらスルーすればいいだけですよ

498 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:51:25 ]
>>493
ODBCでも使ってつないでろよ・・・。

499 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:52:11 ]
>>493
ここはC#のスレです。
Oracleとの接続に関してはOralceのスレで聞いてください。



500 名前:デフォルトの名無しさん mailto:sage [2010/01/03(日) 20:52:47 ]
まあodp.netでぐぐればあとはできるからほっとこう

501 名前:デフォルトの名無しさん [2010/01/04(月) 00:51:58 ]
System.Collections.IEnumerable 型で渡されたCollectionオブジェクト
を処理する場合、その要素の元の型を知っていないと処理できないかと
思うのですが、使うときは foreach() 内などではその既知の型にキャスト
してから(そのプロパティ値などを)処理するということでよいでしょうか?


502 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 00:57:51 ]
うん。
今から作るなら普通は System.Collections.Generic 名前空間内のものを使うだろうから
型がわからないってことはないと思うけど。

503 名前:501 [2010/01/04(月) 01:23:21 ]
>>502
>System.Collections.Generic
こちらで送られてくる場合は型が付いてくる、ということなのですね。
古いコントロールだとIEnumerable で出来ているためにそういうことになる
ということなのですね。わかりました。ありがとうございました!!


504 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 03:40:42 ]
foreachにキャストが含まれているのは知っているだろうけど、
あれもジェネリック型が無かった時代の産物というか発想だよな

505 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 08:05:23 ]
Formやプログラムの終了方法ですが

Close();
Dispose();
Application.Exit();
Environment.Exit(0);

どれがいいんですか?

506 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 08:22:22 ]
タスクマネージャーより最前面にフォームを持ってきたいのですが、
GetForegroundWindowAPIを使って自スレッドにアタッチした後Activateも駄目、
勿論TopMostやFocusも駄目でした。仕様上出来ないものなのですかね?

507 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 15:32:56 ]
>>505
Close()やDispose()は指定したFormだけ。
Application.Exit()なら全てのFormを閉じてくれる。
Environment.Exit()は知らね。

508 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:24:53 ]
>>505
ここ見れホイホイ
ttp://dobon.net/vb/dotnet/form/closeform.html

509 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:52:51 ]
ストリームからデータを読み出そうとすると
'System.Security.Cryptography.CryptographicException' のハンドルされていない例外が System.Core.dll で発生しました。
追加情報: 入力データが完全なブロックではありません。
というエラーが発生してしまうのですが何故なのでしょうか?



510 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:56:08 ]
そのまんまだろう

復号ストリームに食わせたブロックが欠落してる

511 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 16:59:13 ]
FileStreamを対象ファイルで作成し
CryptoStream作成時に上記で作成したストリームを渡して
CryptoStreamMode.Readを行っているのですがどこでデータが欠落するのでしょうか・・・。

512 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:00:52 ]
対象ファイルの中身

513 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:03:45 ]
>>512
そりゃそうですよね・・・orz
ファイル書き込む時に暗号化データをStringに直して書き込んでればそりゃだめになりますわ・・・orz

514 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:05:53 ]
死んだ方がいい

515 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:20:17 ]
PictureBoxの画像を半透明にしたいのですが。

516 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:23:47 ]
if (a == 1)
{
  b = 10;
}
else
{
b = 100;
}
例えば上記の様な場合

b = (integerA == 1) ? 10 : 100;
のように書くというのは

1)極力(あるいは絶対に)上の例のように書くべき。
2)極力(あるいは絶対に)下の例のように書くべき。
3)見易さに応じてケースバイケース。
4)特にセオリーはなく、完全に好みの問題。

熟練されてる方々は一般的に1〜4のどのスタンスで使用されているのでしょうか。
よろしくお願いします。


517 名前:516 mailto:sage [2010/01/04(月) 17:25:44 ]
下はintegerA じゃなくてa の間違いです。
それから上の b=100; も字下げ忘れてました。
見辛くてすみません。

518 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:29:34 ]
あとから修正の入る可能性がないと仮定したうえで、
禁止されてない限り(禁止されることは珍しくない) 2 。

519 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:30:46 ]
>>515
BackColorをTransparentにする
実装に無理があっていろいろトラブルが起きやすい方法なので,できれば
下に描画するものも含めてGraphicsで自前描画してしまうか
WPFでも使ったほうがいい



520 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:32:01 ]
3でしょ、見やすさと言うかプログラムとして自然な方になる
例えば他にelse if が続いていて、たまたまこれだけがelseのみだった場合
これだけいきなり後者で書かれても不自然だ

521 名前:516 mailto:sage [2010/01/04(月) 17:37:50 ]
>>518
>>520
可読性が上がるなら特に使用に抵抗感はないものの
職場などでは使用を禁止されることもあるという感じでしょうか。

下のような書き方はネット上では目にする機会があまり多くないように感じたので
一般的には推奨されない書き方なのかなと疑問に思っていました。
ありがとうございます。参考になりました。

522 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:43:54 ]
どうしてもと言うならせめてこうして欲しい。
b = (hoge == 1 ? 10 : 100);


523 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 17:59:07 ]
なるほど。勉強になります

524 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 18:08:25 ]
>>516
式が複雑なら上で、計算しないなら下。
上の書き方は bが2回登場するので、自分は嫌い。

525 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 18:47:36 ]
「手続き的ではなく宣言的に書け」という原則があるが
それに則っていえば一応下の方が良いことになるな

526 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 19:42:50 ]
WinApp1-Resources-bg.bmpをBitmap型に取り出したいのですが、上手くいきません。

Bitmap bmp = new Properties.Resources.bg;
これでもbgが存在しないらしく、ビルド失敗します。

527 名前:デフォルトの名無しさん [2010/01/04(月) 19:45:35 ]
>>526
この辺かな?
www.atmarkit.co.jp/fdotnet/dotnettips/555appresources/appresources.html

528 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:21:46 ]
>>516
三項演算子は複雑になると他人が(そして未来の自分が)解読しづらくなるから
ネストするようなのは素直に if 使うわな。
というか迷ったら if でいいと思うわ。

将来的に保守していくコードは冗長でつまんないぐらいでいい。
生成結果が変るならまた話は別になるけど。

529 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:40:19 ]
>>516
俺も見やすさ重視でif使うかな




530 名前:デフォルトの名無しさん [2010/01/04(月) 20:43:42 ]
個人的な見解としては?使うのはマネージドな言語が使われる
今の時代でみるとギークぽいなあと思う。

C言語使うにしてもあえて?は使わないようにしてる




531 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:51:17 ]
一行で済むなら三項演算子使うわ

532 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:53:49 ]
ここまでを纏めると


1でも2でも3でもなく4ですね

533 名前:デフォルトの名無しさん [2010/01/04(月) 20:55:41 ]
>>532
そうそう
古参コーダーはたぶん>>531の意見だろうし

まあ変な先輩と一緒になるとスタイル押し付けられそうだけどね

534 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:57:43 ]
if elseが大量にあるようなのなら三項演算子ですっきりさせるかあも

535 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:57:59 ]
>>530
うーん、時代ってのでいうと、
・LINQ とかで文よりも式が見直されてる(if は式木にならないけど、? : はなる)
・C#の cond ? a : b は a と b の型の一致を保証できる
ってのもあって、むしろ昔よりも条件演算子使いやすいと思うよ。


536 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 20:59:12 ]
>>534
if-else が大量に並ぶのはむしろ設計見直した方がいいかも。
仮想関数にならないかとか、分割できないかとか。

if-else が大量に並ぶような場面で ? : 使うと余計にひどいことになりそう。

537 名前:デフォルトの名無しさん [2010/01/04(月) 21:02:43 ]
>>535
使いやすいというかせこせこ1行にまとめてもなあと思う

538 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:29:02 ]
ちゅーか >>516 が聞いてるのってあくまで単純な代入の場合だよね?
なんか途中で if か?三項演算子か?な議論にすりかわってるような

自分がどう書くかはともかく、他人が書いたソース読むときは
同じような処理が同じような書き方になってりゃどっち使ってても別に気になんないわ。
ちょくちょくぶれてるのが一番気持ちわるい。



539 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:29:04 ]
>>536
泥臭い処理も世の中にはあるぞ



540 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:30:20 ]
>>539
泥臭い処理は泥臭く書いた方が間違いが少ない

541 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:32:01 ]
三項演算子の是非の話?
三項演算子は値に注目して論理性がはっきりするからいいと思うけどな

542 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:39:12 ]
迷わずifです。ステップ数増やさないと稼げません。

543 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 21:44:34 ]
今時ステップ数はないわ。

544 名前:デフォルトの名無しさん [2010/01/04(月) 21:57:00 ]
H社あたりはステップ換算じゃないの?

545 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 22:01:16 ]
工程数だろ今は

546 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:00:34 ]
人月換算なんかしてるから日本は終ってる

547 名前:デフォルトの名無しさん mailto:sage [2010/01/04(月) 23:01:54 ]
馬鹿は

if (a == 1) {
b = 1;
} else {
c = 1;
}

みたいのですら

a == 1 ? b = 1 : c = 1;

ってやりたがるからな。

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
のような無料の物には付属しないのでしょうか?






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<104KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef