トップページ⇒tech
1001コメント308KB

C♯, C#相談室 Part35

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/11/03(金) 03:07:45
(#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。

前スレ
C♯, C#相談室 Part34
http://pc8.2ch.net/test/read.cgi/tech/1157549657/

過去スレは>>2-5あたり。
※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
0243デフォルトの名無しさん2006/11/11(土) 18:57:42
>>242
いきなりジャンプすんの?
それとも自分の画面に
「ねこかわいいよねこ」と入れて
自分の画面のボタン押せばその検索結果を出す

ってだけなら今はやりのweb2.0、グーぐるのウェブサービスを使えばできそうだけどな。
同じくamazonの検索機能もウェブサービスで公開されてるような気がするんだが。

0244デフォルトの名無しさん2006/11/11(土) 19:03:06
* HTTP についてちょっと調べる。
* Googleの検索結果のURLをながめる。
* Googleの検索結果のソースをながめる。
0245デフォルトの名無しさん2006/11/11(土) 19:03:43
>>243
すいません、えと、グーグルは例に出しただけで、実際は株取引の画面で、色々入力して、
自動注文みたいなことをしようと考えています。

やりかたが全くわかりません・・。
0246デフォルトの名無しさん2006/11/11(土) 19:05:13
手で色々操作してるところをパケットモニタでキャプチャして観察
0247デフォルトの名無しさん2006/11/11(土) 19:09:14
パケットモニタつうかプロトコルアナライザの類ね。
0248デフォルトの名無しさん2006/11/11(土) 19:20:02
皆さん、レスありがとうございます。

うーん パケットモニタとか、プロトコルアナライザなるものがサッパリ分かりません(´・ω・`)

ちょっと、調べてみます<(_ _)>ありがとうございました。
0249デフォルトの名無しさん2006/11/11(土) 19:20:05
株取引って・・・
htppsの操作なんて出来るの?
0250デフォルトの名無しさん2006/11/11(土) 19:23:22
そかhttpsか・・・中見えないじゃん。
0251デフォルトの名無しさん2006/11/11(土) 19:33:10
httpsなんて関係ない、ただのオートメーションでそ。
0252デフォルトの名無しさん2006/11/11(土) 19:34:50
ここの過去スレと参考URL読むべし…
★★★自動売買ソフトを作ろうぜ★★★ Part12
http://live19.2ch.net/test/read.cgi/stock/1159246240/
0253デフォルトの名無しさん2006/11/11(土) 19:37:41
>>245
>すいません、えと、グーグルは例に出しただけで、実際は株取引の画面で、色々入力して、
>自動注文みたいなことをしようと考えています。

これとグーぐるの画面出すのと何が共通してるっての?
どういう意味で例だしたのかさっぱりわからん
0254デフォルトの名無しさん2006/11/11(土) 19:44:29
大体おなじもんだよ。
俺もオートログインとか自動発注とかしてたからわかる。
ラジオボタンとかチェックするのなかなか分からなかったけどな。
0255デフォルトの名無しさん2006/11/11(土) 19:45:57
ようするに通信したいっていう話じゃなくて、プログラムでIEを操作したいってことじゃね?
文字入力して特定の場所をクリックしてみたいな。
0256デフォルトの名無しさん2006/11/11(土) 19:57:02
>>242
IEでのweb操作はあまり需要が無いので書籍等は出ていないと思います。
webbrowserはVS2005から追加されました。
その前まではAxWebBrowserかなんかで英文ドキュメント見ながらやるしかありませんでした。
いまは日本語ヘルプがあるのでそこから地道にやってみてください。

参考になるかどうかわかりませんがおすすめ。
ttp://peace.poosan.net/investor/workshop/order/
0257デフォルトの名無しさん2006/11/11(土) 19:59:10
なぁ、C丼とブービードトネトと、一体何が違うんだ?
0258デフォルトの名無しさん2006/11/11(土) 20:10:45
>>257
ちょっと文法が違うだけで
使うクラスライブラリはほぼ同じ(ただしVBにはMyがあるけど)
好みの問題じゃね。
0259デフォルトの名無しさん2006/11/11(土) 20:22:44
すいません、友人にプログラムのさわりだけ教えるために
一応c#のexpressedhitionでアドレス帳でも作ってもらおうかと思ってるんですが、
その際のDBも簡易的なものでできたらなと思っています。

,mdfファイルを作るまでをできたのですが
こいつにアクセスしてデータを読み書きしてみたいのですが
どのようにすればいいでしょうか?

感じ的にはログイン認証みたいなことをしたいなぁと思っているのですが。
0260デフォルトの名無しさん2006/11/11(土) 20:38:38
ごめんなさい。

本を買えの一言です。
02612572006/11/11(土) 20:42:15
>>258
そうだよな。thx
0262デフォルトの名無しさん2006/11/11(土) 20:48:42
>>260
こういう一言書くぐらいなら単純にフル無視したらいいのにとたまに思う。
0263デフォルトの名無しさん2006/11/11(土) 20:48:55
さわりとは物事の本質を示す
0264デフォルトの名無しさん2006/11/11(土) 20:57:00
>>259
ADO.NET、接続文字列、SqlConnection、DataSetあたりでぐぐれ。
0265デフォルトの名無しさん2006/11/11(土) 20:59:05
>>259
友達w?


正直に言えよw
0266デフォルトの名無しさん2006/11/11(土) 22:02:48
>>265
あ、そっち?
大丈夫ごめんごめん。

会社ではOraleDBだったり今はSQLServerだったり
DBサーバにつないで、dataadapter使ってデータのやり取りやってるんだが、
単純にそういう環境なしのローカル環境だけの簡単なもの、っていうと
実務では殆ど使わないので実はあまりなじみなくってね。

初心者用の本でもありゃわかるんだろうが、そういう本はないw

結局普通にDataTAbleAdapter使ってデータのやりとりやることにしたよ。
DataSetに入れてしまえばあとはすぐだし。

その辺は「おまじない」とか言って適当にごまかしとくわw

最初から色々教えてやると頭パンクするかもしれんから。
0267デフォルトの名無しさん2006/11/11(土) 22:09:32
>>264
ローカルにsqlserverたてれたらそら簡単だが。。
ExpressEditionでできることって限られてるじゃん?

SqlServerもクライアントの機能しかないし。
てなると、完全にローカルだけで動かす環境。
Accessも手元にないし、どうしたもんかなぁ、と思ってたんだが。

ローカルデータ用の空のデータベースっつーのが項目として追加できたんで、
それ使ってなんとかやってみたよ。

ローカルデータ用の空のデータベースもSqlConnectionクラス使って
普通にコネクション設定したら使えるのかな?
コネクションはローカル用空DB(.mdfファイル)も
普通に別のDBサーバのDBも書き方同じなんだろうか。

ローカルのDB使ってプログラムなんか普通作らないからなぁ。
0268デフォルトの名無しさん2006/11/11(土) 22:16:13
すいません、質問です。

C#でCheckboxの値を変えられなくする(灰色表示にする)方法ってenable=falseにする以外はありませんか?
0269デフォルトの名無しさん2006/11/11(土) 22:23:23
なぜ?
0270デフォルトの名無しさん2006/11/11(土) 22:27:35
>>268
ほんと、なんで?って感じ
なぜEnabled = falseが嫌いなの?

方法ってたら、SendMessageでメッセージ送るとか?
02712682006/11/11(土) 22:28:59
>>269
postbackしたときにfalseにしたものはrequest.formに含まれなくなったようなのです。それはこれが原因ではないのでしょうか?
0272デフォルトの名無しさん2006/11/11(土) 23:27:24
>>268
ロックってなかったっけ?
灰色にしたくない、て言うのだと良くある質問かなと思ったけど(文字が見えにくくなるとか)
0273デフォルトの名無しさん2006/11/11(土) 23:34:36
最低限 Webで、とか書け。

最近こんなやつばっか。
02742682006/11/12(日) 00:31:56
すいません、Webでです。

ふむぅ、なんかできないみたいなので他の手段をとってみます。ありがとうございました。
0275デフォルトの名無しさん2006/11/12(日) 00:48:23
TableAdapterでUpdateしたんだが、コミットってどうする?
どうやったら保存されるの?
0276デフォルトの名無しさん2006/11/12(日) 01:10:53
標準でcomitしなくても更新できるんじゃなかったっけ。
トランザクション実行してるの?
0277デフォルトの名無しさん2006/11/12(日) 01:12:41
DatabaseDataSetTableAdapters.ADRESSTableAdapter uadpter = new WindowsApplication1.DatabaseDataSetTableAdapters.ADRESSTableAdapter();
DatabaseDataSet ds = new DatabaseDataSet();
DatabaseDataSet.ADRESSDataTable dt = new DatabaseDataSet.ADRESSDataTable();

//データ追加
DatabaseDataSet.ADRESSRow row = ds.ADRESS.NewADRESSRow();

row.NAME = this.txtName.Text;
row.ARESS1 = this.txtAdress1.Text;
row.ADRESS2 = this.txtAdress2.Text;
row.BIKO = this.txtBiko.Text;
row.TEL = this.txtTell.Text;

ds.ADRESS.AddADRESSRow(row);

uadpter.Update(ds.ADRESS);


としてみたんですが、データが反映されません。
なんか最後のところがへんちくりんなんでしょうかね?
0278デフォルトの名無しさん2006/11/12(日) 01:35:59
そのdtは何のため…
0279デフォルトの名無しさん2006/11/12(日) 01:36:57
ローカルのDBをコピーして上書きしちゃってたりして
0280デフォルトの名無しさん2006/11/12(日) 04:53:03
ぐはぁ、
なんかbinのdebugの下にデータベースのコピーできてるやんけ!
一生懸命ちゃうとこみとったわい。
デバッグモードのときはこっちのDBに書き込まれるとかそゆこと?どうなってんだ。
02812112006/11/12(日) 09:45:17
きみたち必死になってForm.KeyPreviewという回答をくれたけど
実は違うみたいれつよ(藁
後学のためにきみたちのもおいらが調べた結果をまとめたので教えてあげよう

「Windowsアプリケーションで方向キーなどの特殊キーを処理するには?」 by 149

1.Buttonコントロールで方向キーが処理できない理由
 Buttonコントロールでの方向キーの入力が、通常のKeyDownなどのキー・イベントで処理できないということは、
「方向キーが通常の入力キー(以降、普通入力キー)とは異なる」ことを意味する。Buttonコントロールの方向キーは
「プリプロセス(=前処理)を必要とする特殊な入力キー」(以降、特殊入力キー)である。

 これは、すでにプリプロセスで何らかの処理を実行済みなので、さらにその後でキー処理を行う必要がないからだ。
例えば、Buttonコントロールで[↓]キーを押すと、Windowsアプリケーションはプリプロセス工程で自動的にフォーカス移動の
処理を実行する。よって、その後でKeyDownイベントを処理する必要はなくなる。

 しかし、実際のアプリケーションでは、そのような通常のアプリケーション動作をカスタマイズしたい場合がある。例えば、
通常のアプリケーション動作では[↓]キーでフォーカス移動すると、そのフォーカス移動先がGroupBoxコントロールなどにより
設定されたグループ内でループするようになっているが、それをカスタマイズして、グループを越えてフォーカス移動するように
したい場合などが挙げられる。

  a) プリプロセス工程における処理をカスタマイズする
  b) 特殊入力キーを普通入力キーに変更する

ここではa)について解説する。

2.プリプロセス工程における処理をカスタマイズする
 プリプロセスをカスタマイズするには、フォームのProcessDialogKeyメソッドをオーバーライドして、そのメソッド内でキー処理を
行えばよい。もちろんフォームではなく、コントロールのProcessDialogKeyメソッドをオーバーライドしても同様の結果が得られる。
 次のコードは、実際に、フォームのProcessDialogKeyメソッドをオーバーライドした例である。この例では、方向キーでグループを
越えたフォーカス移動を行うように、処理をカスタマイズしている。

続く
02822112006/11/12(日) 09:46:29
protected override bool ProcessDialogKey(Keys keyData){
switch (keyData) {
case Keys.Down:
case Keys.Right:
this.SelectNextControl(
this.ActiveControl, true, true, true, true);
break;
case Keys.Up:
case Keys.Left:
this.SelectNextControl(
this.ActiveControl, false, true, true, true);
break;
default:
return base.ProcessDialogKey(keyData);
break;
}
return true;
}

ProcessDialogKeyメソッドをオーバーライドしたサンプル・プログラム(C#)

 なお、ProcessDialogKeyメソッドはコントロール→フォームの順で呼ばれる。ProcessDialogKeyメソッドでは、
独自にキーを処理した場合には、それを示すために戻り値でTrueを返すようにする。
 また、コントロールのProcessDialogKeyメソッドは、コントロールのPreProcessMessageメソッドから暗黙的に
呼び出される。そのため、プリプロセス工程の最初のメソッドであるコントロールのPreProcessMessageメソッドを
オーバーライドしても、同様にプリプロセス工程でのキー処理をカスタマイズできる。しかし、コントロールの
ProcessDialogKeyメソッドやPreProcessMessageメソッドをオーバーライドする方法を採用する場合、当然、
コントロールの継承が必要になる。

-------------------------------------------------------------
以上だ。いかにもC#のことなら何でも知ってる見たいなツラして回答者ぶるなら
少しは勉強しろよな(禿藁
0283デフォルトの名無しさん2006/11/12(日) 09:58:15
そうだね
0284デフォルトの名無しさん2006/11/12(日) 09:59:24
↑受け売りの知識を自慢げにひけらかしてる奴
0285デフォルトの名無しさん2006/11/12(日) 10:09:32
常識だな
0286デフォルトの名無しさん2006/11/12(日) 10:15:19
長い
もっと簡潔に
0287デフォルトの名無しさん2006/11/12(日) 10:21:39
なんで「フォームのkeydownイベントが発生しない」が
「コントロール上でのkeydownイベントが発生しない」にすりかわってるんだろう。

あ、釣られたのか。
0288デフォルトの名無しさん2006/11/12(日) 10:47:27
きみたち必死になってForm.KeyPreviewという回答をくれたけど
実は違うみたいれつよ(藁
後学のためにきみたちのもおいらが調べた結果をまとめたので教えてあげよう

http://www.atmarkit.co.jp/fdotnet/dotnettips/241windlgkey/windlgkey.html

以上だ。いかにもC#のことなら何でも知ってる見たいなツラして回答者ぶるなら
少しは勉強しろよな(禿藁

-------------------------------------------------------------
簡潔にしてみました
0289デフォルトの名無しさん2006/11/12(日) 11:17:26
・・・つーか、そろいもそろって・・・
特殊Keyもしらないのでちゅか・・・?
0290デフォルトの名無しさん2006/11/12(日) 11:20:00
>>289
君みたいにエスパーじゃないからね
0291デフォルトの名無しさん2006/11/12(日) 12:19:21
>>290
>>211
0292デフォルトの名無しさん2006/11/12(日) 13:51:16
Excelのマクロより遅い.NETになんの魅力があるのか禿げしく疑問
0293デフォルトの名無しさん2006/11/12(日) 13:55:52
そうだね
0294デフォルトの名無しさん2006/11/12(日) 14:09:57
vistaでは無問題
先を見ることができない>>292は脱落者
vista(=見晴らし、見通し)とヒントまで与えてくれてるのに気づかないとはね・・・
┐(´ー`)┌
0295デフォルトの名無しさん2006/11/12(日) 14:21:34
>>294
┐(´ー`)┌ ← このAAが禿しくムカツクんだが。
0296デフォルトの名無しさん2006/11/12(日) 14:22:17
スルー力を磨くスレ
0297デフォルトの名無しさん2006/11/12(日) 14:27:30
>>296
がんばって磨きますw
0298デフォルトの名無しさん2006/11/12(日) 14:46:09
マクロより遅いのか
0299デフォルトの名無しさん2006/11/12(日) 15:26:07
うそーん
EXCELのマクロより遅いなんて話は聞いたことが無いよ。
0300デフォルトの名無しさん2006/11/12(日) 15:28:30
デバッグモードででもベンチ取ったんじゃないかと
0301デフォルトの名無しさん2006/11/12(日) 15:59:00
>>298-300
>>296がいい事言ってる
0302デフォルトの名無しさん2006/11/12(日) 16:10:31
エラー19'hogehoge.Index' は参照マーシャル クラスなので、
'hogehoge.Index' を ref または out として渡すことはできません。

コンパイルエラーでこういうのが出てしまいます。
元のコードは、こんな感じです。
↓

class hogebase
{
public int Index = 0
}

class hogeInherit : hogebase
{
private void Close()
{
base.Index = 100;
}
}

void main()
{
hogebase hb = new HogeInherit();
Console.WriteLine('{0}',
}
0303デフォルトの名無しさん2006/11/12(日) 16:11:16
ちなみにエラーが出るのは Main の Console.WriteLine です。
0304デフォルトの名無しさん2006/11/12(日) 16:13:56
文字列になってないし括弧も閉じてない
0305デフォルトの名無しさん2006/11/12(日) 16:15:18
>>304
void main()
{
hogebase hb = new HogeInherit();
Console.WriteLine('{0}', hogeInherit.Index.ToString());
}
これの間違いです。
0306デフォルトの名無しさん2006/11/12(日) 16:31:29
文字列はシングルクォートではなくダブルクォートだぜ

おまいにはこっちのほうがお似合い

ふらっとC♯, C#(初心者用) Part10
http://pc8.2ch.net/test/read.cgi/tech/1162193452/
0307デフォルトの名無しさん2006/11/12(日) 16:35:05
>>306
向こうに行きます。
0308デフォルトの名無しさん2006/11/12(日) 20:35:50
>>300
デバッグモードだとEXCELにも負けるのか・・・
┐(´ー`)┌
0309デフォルトの名無しさん2006/11/12(日) 20:38:36
┐(´ー`)┌
0310デフォルトの名無しさん2006/11/12(日) 20:45:03
>>308
失せろっていってんだよ。
何度も同じことを言わせんなよ。


カスが。
0311デフォルトの名無しさん2006/11/12(日) 20:49:23
┐(´ー`)┌
0312デフォルトの名無しさん2006/11/12(日) 21:01:21
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
0313デフォルトの名無しさん2006/11/12(日) 21:13:40
ムカデか
0314デフォルトの名無しさん2006/11/12(日) 21:16:03
┐(´ー`)┌
0315デフォルトの名無しさん2006/11/12(日) 21:30:16
最近妙にレベルが落ちてるな。どうしてだ?
0316デフォルトの名無しさん2006/11/12(日) 21:34:30
回答者の質が落ちたんじゃね?
0317デフォルトの名無しさん2006/11/12(日) 22:12:49
ブビー・コボラ・デルオパーイ・ジャバ糞辺りが難民化してるんじゃね?
0318デフォルトの名無しさん2006/11/12(日) 22:20:38
>>317
┐(´ー`)┌
0319デフォルトの名無しさん2006/11/12(日) 22:26:01
>>318
ほらw

うじゃうじゃと湧いてくるよw
0320デフォルトの名無しさん2006/11/12(日) 22:35:43
┐(´ー`)┌
0321デフォルトの名無しさん2006/11/12(日) 22:37:17
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
┐(´ー`)┌
0322デフォルトの名無しさん2006/11/12(日) 22:41:44
ムカデか
0323ぼるじょあ ◆yBEncckFOU 2006/11/12(日) 23:26:50
┐(´・3・`)┌ エェー
0324デフォルトの名無しさん2006/11/13(月) 00:17:08
初歩的な質問なのですがushortをbyte配列にコピーするにはどうすれば
いいのでしょうか?
Cでいうmemcpyみたいなことをしたいのです。
0325デフォルトの名無しさん2006/11/13(月) 00:31:24
Buffer

クラス名な
0326デフォルトの名無しさん2006/11/13(月) 00:44:59
Buffer.BlockCopyでできそうですね。
ありがとうございました
0327デフォルトの名無しさん2006/11/13(月) 13:25:55
C#を勉強中なんですが、3項演算子というのは、積極的に使っていくものなんでしょうか。
普通にif文を書いた方が見やすいようなきもするんですけど、どうなんでしょう。
0328デフォルトの名無しさん2006/11/13(月) 13:40:16
>>327
見やすく書いたほうが、読む方は読みやすい。自分が書いたコードでも時間が経つと
意外と悩んだりするもの。C言語でもできれば使わないほうがよいとされている。
C#でもそれは同じだろうと、俺は思っている。三項演算子の方が分かりやすいと判断
したところには使ってもいいんじゃないか?そういう意味ではgotoみたいなもの。
0329デフォルトの名無しさん2006/11/13(月) 13:46:45
複数あるWindowからIEのWindowを絞り出し、そのHTMLDocumentを抜き出すという
事をしたいのですが、その方法で煮詰まっています。

public static bool IECallBack(IntPtr hwnd, IntPtr lParam)
{
StringBuilder sbClassName = new StringBuilder(256);
GetClassName(hwnd, sbClassName, sbClassName.Capacity);
if( sbClassName.ToString().StartsWith("IEFrame"))
{
Form1.al.Add(hwnd);
}
return true;
}

// EnumWindows でIECallBack へさせる。
EnumWindows(new EnumWindowCallBack(Form1.IECallBack), IntPtr.Zero);

こんな感じでWindowのハンドルは取得できるのですが、Window内のオブジェクトを取得する
方法が分からなくて困っています。
どなたかご教授していただけませんでしょうか?よろしくお願い致します。
0330デフォルトの名無しさん2006/11/13(月) 13:50:52
3項演算子で書いて意味不明なのは、ifで書いても意味不明だと思う。
ようするに読みにくいのは3項演算子のせいじゃない。
03313272006/11/13(月) 15:53:16
単純な分岐で〜だったら1、そうでなければ2みたいな短い時に
if文で何行も使うのはどうかなと思ってました。

if (〜) { 〜 } else { 〜 }

かっこの中が1行で済むときはこんな感じで書いていたのですが、
一般的に3項演算子のほうを使うのかなと思って質問しました。
あまり参考書などで使ってるのを見かけないので
一般的に使われていないのかなと思って質問しました。
少し使ってみようと思います。
0332デフォルトの名無しさん2006/11/13(月) 17:22:36
>>329
COMのMicrosoft Internet ControlsとMicrosoft HTML Object Libraryを参照

using SHDocVw;
using mshtml;

ShellWindows sw = new ShellWindows();
foreach (InternetExplorer ie in sw)
{
  if (System.IO.Path.GetFileName(ie.FullName) == "IEXPLORE.EXE")
  {
    IHTMLDocument2 htmlDoc = (IHTMLDocument2)ie.Document;
    Console.WriteLine(htmlDoc.url);
  }
}
0333デフォルトの名無しさん2006/11/13(月) 18:03:11
>>332
正にこれです。COMオブジェクト関連の操作に関してはVBの資料は多いのですが
C#に関する資料があまりなくて苦労していました。
本当に有難う御座います。

追加で質問なのですが、IEのウィンドウでさらにアクティブになっているウィンドウを取得したいのですが、
Shellwindowからhwndを抜き出すことは簡単に出来るものなのでしょうか?
03343322006/11/13(月) 18:19:38
>>333
InternetExplorerクラスにHWNDプロパティがあるからそれが使えるんじゃない?
試してないから分からないけど。
0335デフォルトの名無しさん2006/11/13(月) 21:07:20
ボリュームコントロールをいじりたい(音を大きくしたり小さくしたりとかしたい)のですが、どうやればいいでしょうか?
03363352006/11/13(月) 21:11:54
ちなみに
↓みたいなページもあったのですが、ページが古くて、重要なウプデータがなかったりで・・・(´・ω・`)
ttp://thespoke.net/forums/950208/ShowPost.aspx
0337デフォルトの名無しさん2006/11/13(月) 21:14:50
>>336
こんなんじゃだめなん?
ttp://support.microsoft.com/kb/139098/ja
0338デフォルトの名無しさん2006/11/13(月) 21:47:17
>>337
おおお、ありがとうございます!!
0339デフォルトの名無しさん2006/11/14(火) 14:44:05
モジュールが1.1でコンパイルされたものか2.0でされたものかってどこでわかるの?
0340デフォルトの名無しさん2006/11/14(火) 18:21:51
他のアプリケーションのウィンドウがアクティブになったときに処理をさせたいのだが、
C#ではどうすりゃいいの?

他のアプリケーションのウィンドウに送られるWM_ACTIVATEメッセージを
キャッチしたいんだけど…。これをやりたい場合はグローバルフックする
必要があるからC#じゃ無理…だよね?

やはりTimerイベントを1秒間隔くらいで発生させて、その中で
GetForegroundWindowなどを呼び出してチェックする方法しかないのかな。
0341デフォルトの名無しさん2006/11/14(火) 18:35:30
コールバックは作れるみたいだけど
ttp://msdn2.microsoft.com/ja-jp/library/843s5s5x(VS.80).aspx
03423402006/11/14(火) 22:19:36
グローバルフックの部分をC言語などで書いて、WM_ACTIVATEをキャッチした時に
.NETアプリにコマンドライン引数などで通知するなんてこともできるかな。
スマートじゃないけど。

うーん。いい方法が思いつかない。素直に全部C言語で作ったほうが早いかな…。
■ このスレッドは過去ログ倉庫に格納されています