スポンサーサイト

■ スポンサー広告 Posted by ひぐま (Higmmer) on -------- at --:--:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

[C#] フォーム外のマウスイベントを取得する

■ プログラム Posted by ひぐま (Higmmer) on 2005-12-08 at 23:59:01

◆共有テーマ: プログラミング [コンピュータ]

DesktopCapture for Skype」では全画面の他に指定したウィンドウ又は任意の座標範囲をキャプチャ対象として設定することができますが、その際ウィンドウリストから選択したり座標を数値入力するのではなく、対象としたいウィンドウや座標範囲を直接クリックorドラッグすることで直感的に設定できるようにしたいと考えました。つまり、自分のフォーム外でのクリックやドラッグなどのマウスイベントを取得する必要があります。

これを実現するための手法としてはだいたい次の4つが考えられると思います。

  1. システムフックを利用する
  2. マウスキャプチャを利用する
  3. タイマーを使って定期的にマウスの位置を調べる
  4. 画面全体を覆う透明ウィンドウを作成する

>>続きを読む

[C#] アプリ終了時のウィンドウ位置を保存する

■ プログラム Posted by ひぐま (Higmmer) on 2005-12-06 at 00:47:43

◆共有テーマ: プログラミング [コンピュータ]

最近ちょっとネタ切れ気味になりつつあるので、これから何回かに分けて「DesktopCapture for Skype」を作成するにあたって自分がつまずいた点についてメモ風に書いていくことにします。

まずはVersion 0.6.00βで追加したアプリケーション終了時のウィンドウ位置を保存する機能の実現方法についてです。最初は普通にLocationプロパティの値を保存する方法を思いついたのですが、これだとウィンドウが最小化されている時に(-32000, -32000)のような値となってしまい、次回起動時に正しく復元させることができません。これは位置の取得にWin32APIのGetWindowRect関数を用いた場合でも同様です。

このような場合はGetWindowPlacement関数を用いればいいようです。

>>続きを読む

VS2005 Express Editionが無償提供されるらしい

■ プログラム Posted by ひぐま (Higmmer) on 2005-11-09 at 22:24:34

◆共有テーマ: プログラミング [コンピュータ]

IT Proの記事によると、Microsoft Visual Studio 2005のExpress Editionが無償提供されるらしいです。自分は現在VS.NET2003のProfessional Editionを使用していますが(MSDNは期限切れ)、優待アップグレードパッケージが利用可能だとしても恐らく8~10万近くするはずなので正直どうしようかと思っていました。なので今回の試みは非常に有り難いです。

公式FAQによると以下の特徴があるようです。

  • 作成したソフトは自由に配布でき、商用利用も可能
  • Webアプリケーションは作成不可
  • VC++2005 Expressには最適化コンパイラも含まれる
  • Platform SDKをダウンロードすることでWin32ネイティブアプリケーションも作成可能
  • 但しMFC/ATLは含まれない
  • 64bitアプリケーションの作成は不可

VC++にMFC/ATLを含まないところから見て、Microsoftとしてはとにかく.NETプログラマの裾野を広げたいという狙いがあるようです。自分としてはMFCが必要ならVS2003を使えばいいのでこの点は全く問題無いのですが、VS2005で追加されているはずのSTL.NETが使えるかどうかは気になるところです。もしこれが使えるのなら、自分の使用範囲からしてExpress Editionでも必要十分だと思います。詳細は11月17日に発表されるとのことなので、期待して待ちたいと思います。

明日で2週間経つわけですが

■ プログラム Posted by ひぐま (Higmmer) on 2005-11-07 at 23:59:40
「DesktopCapture for Skype」を暫定リリースしてから明日で2週間になるわけですが、今のところ悲しいくらい反応が無いです(´・ω・`) どこにも宣伝していないので当然といえば当然ですが…。やはり配布形式が特殊すぎたかな?と反省中。

DesktopCapture for Skype (5)

■ プログラム Posted by ひぐま (Higmmer) on 2005-10-21 at 01:33:21
キャプチャするウィンドウ又は座標範囲を指定する機能を実装しました。データの送受信周りに今ひとつ不安定動作が残っていますが、開発開始当初にイメージしていた基本機能はほぼ実装を終えました。後はバージョン情報やヘルプ類を追加すれば、単体アプリケーションとしての一応の体裁が整うことになります。

スクリーンショット - DskCapSk

10/9のエントリで公開の予定はないと書きましたが、自分で言うのもなんですが結構便利なアプリケーションだと思うので、公開する方向で検討中です。そこで困るのがどうやってバイナリを配布するかで、現在のFC2ブログでは基本的にzipファイルはアップロードできないので、他のホームページサービスを利用したりどこかのアップローダを利用したりしなければなりません。特殊なソフトを使って画像ファイルにバイナリを埋め込むこともできますがなんだかアングラな感じになりますし、利用者側の敷居をこれ以上高くしてしまうのもどうかと思います。こんな時ほかのブロガーさん方はどのようにしているのでしょうか?やはりもうひとつホームページを立ち上げるのが常道なのでしょうか。少し調査・検討してみますので、もう暫くお待ち下さい。

DesktopCapture for Skype (4)

■ プログラム Posted by ひぐま (Higmmer) on 2005-10-18 at 23:38:46
ひまぐの更新は飛び飛びになっていますが、開発は細々と続いています。データ送受信に関してはだいぶ安定してきました。現在はキャプチャを取るウィンドウ又は座標範囲を指定できるようにする処理を追加しているところです。こうなると.NET Frameworkのクラスライブラリ(FCL)だけではできない処理がどうしてもでてくるため、Win32APIを直接操作する必要があります。APIリファレンスとGoogleさんを頼りに試行錯誤の連続です。β版完成までにはまだもうしばらくかかりそうです。

DesktopCapture for Skype(3)

■ プログラム Posted by ひぐま (Higmmer) on 2005-10-10 at 22:38:41
今日は送信処理をスレッド化し、データ送信中もシェイクハンドを行うように修正しました。これによりスループットが若干低下してしまいますが仕方ありません。同時に各種タイムアウト/エラー処理を追加しました。これでやっと動作が安定してきました。しかし欲を出して画像サイズを大きくしてみると何回かに1回の割合で通信に失敗します。プログラムのつぎはぎを重ねた結果、だいぶ見通しが悪くなってきたので最初からやり直したい気持ちもなきにしもあらずですが、とりあえずβ版を完成させるまではこのまま続けたいと思います。

残念ながら明日から週末まで流浪の旅に出るため、今週はヒマグラミングはひとまずお預けです。出先で時間があれば、その間もひまグの更新は行うつもりです。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。