• 締切済み

VB.NETで指定ウィンドのキャプチャなどについて

VB.NETで指定ウィンドのキャプチャなどについて VB.NETで特定のウィンド(自作アプリではない)内の指定座標の色の識別したいのですが、 そのウィンドが前面にあれば簡単に出来ると思います。 ただ、そのウィンドが背面になっていたり、ディスプレイからはみ出してる、最小化している、 などの状態の時に指定座標の色を識別する方法はありますでしょうか? 1行目にはキャプチャと記述していますが、方法は基本的にはどんなものでも構いません もしVB以外の言語で可能でしたらC、C#等の他言語でも構いません

みんなの回答

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

色の取得なら普通にキーワード検索すれば GetPixel の方が検索される でしょう? http://msdn.microsoft.com/ja-jp/library/cc410388.aspx ハンドル指定するから、取れても不思議ではないです。 でも、画面上に表示されていないので取れなくても不思議ではないです。 使った事無いので結果は知りません。

noname#140925
noname#140925
回答No.1

WindowsAPI使えば可能ですので、APIについて勉強してください。 SetForegroundWindow 関数 http://msdn.microsoft.com/ja-jp/library/cc411039.aspx

lucird
質問者

補足

素早い回答ありがとうございます。 winAPIはたいして分からないので間違っていたら申し訳ないのですが、 SetForegroundWindow 関数を使い、 ウィンドを前面表示してから色の識別をする。ということでしょうか。 だとすると背面や、最小化している状態のウィンド内の色を その状態のまま取得する事は出来ないのでしょうか?

関連するQ&A

  • VB6.0 と、 VB.NETについて。

    こんにちは。 VB6.0の、次のバージョンがVB.NETなんでしょうか? VB C C++など各言語にNET版が出ているようですが、 分岐するような感じで、新しく開発言語が増えたと言うことなのでしょうか? パッケージの裏を読んだり、入門書を立ち読みしてもいまいちよくわかりません。 各言語をひとつのパッケージにして売っているようなものがあります。 逆に、次のバージョンで名前を変えて各言語が統合されるのでしょうか? VB.NETを中心に、NETの位置付け・機能について教えてください。 (私はプログラマではありません。ゴメンナサイ) (^_^;)

  • VB.NETからエクセルを起動して、エクセルでVBを閉じたい。

    こんにちは。 先日、エクセルのフォームを最前面に配置したいという 質問をさせて頂いたものでございます。 それで、SetWindowPosのAPIで設定する方法を教えて頂いたのですが、 最前面にする事は出来たのですが、フォームを動かすと ブックはその一つ下に現れてしまい、 ブックを最背面に配置するなどを試みてみたのですが、 どうもうまく行かないので、 エクセルから直に立ち上げることが出来ないようにして VB.NETのフォームを作ってエクセルにデータを送ろうかと思いました。 それで、データを送る方法は何とかなりそうなのですが、 VB.NETのフォームからエクセルを起動して、 次にエクセルからそのフォームを出したり、隠したりしたいのですが、 その場合、VB.NETのフォームのなんと言うハンドルを取得すればよいでしょうか? IDにも色々あるようで、どれを使えばよいのか分からなくなってしまいました。 そのIDはVBのフォームを起動した時に、エクセルと共有するiniファイルなどに、書き込んでおこうかと思っています。 よろしくお願いいたします。m(__)m

  • VB.NETとEXE

    VB.NETで作成したフォーム(仮にメインフォームとします)にコマンドボタンを複数貼り付けています。 各コマンドボタンをクリックすると、それぞれの別のEXEが起動します。 (例 コマンドAをクリックすると、EXE-Aが起動、コマンドBをクリックするとEXE-Bが起動。両方一度に起動も可) この時、必ずメインフォームの上にEXEのフォームが重なるように表示されています。 そこで質問があります。 1、複数EXEが起動されている時、一番前面に表示されているEXEを識別する方法はありますか? 「現在アクティブなEXE」とは異なります。なぜなら、メインフォームをクリックすると、前面に表示されているEXEはアクティブな状態とはならないためです。 2、メインのフォームの右上にある「最大化」や「最小化」のボタンをクリックしたら、それに連動してEXEも最大化や最小化をするようにすることは可能でしょうか? すこしわかりにくいと思いますが、補足もしますので、アドバイスよろしくお願いします。

  • ウインドの表示位置設定

    新しいページを表示する時に、ウインドのサイズと座標を指定したいんですけど、VBしか知らないので、HTMLのASPで、JavaScriptでの記述を教えて欲しいんです... どなたか、JavaScriptのランゲージリファレンスのページ、ご存知でじたら、教えて欲しいな(*^_^*)

  • VBから指定Excelファイルを呼び出すには?

    VBのフォームより、指定フォルダに存在するエクセルのファイルを 呼び出して、最前面に表示させたいのですが方法がいまいち・・・。 CreateObject関数を使うんでしょうか? どーにもうまくいかないんで教えていただきたいんですが。 宜しくお願い致します。

  • VB.NETとC#の違い

    JOBで使用する開発言語をVB.NETにするかC#にするかで迷っています。 画面アプリと裏タスクという構成ですが、 今までは画面=VB、裏タスク=Cという固定概念でしたが、このままでよいのか疑問です。 下記は私なりに調べてみた比較なのですが、 ●従来Cの短所とされてきたこと ・画面設計のし易さ  C#はVBと同じようにVisualStudio上で簡単に設計できる。イベントドリブンも可能。 ・言語のとっつき易さ C#でASPを組んだ経験もありますので大して抵抗はありません。                しかも、VB6.0→VB.NETの移行は従来のVB5.0→6.0へ移行ほど安易ではない。 ●従来Cの長所とされてきたこと ・処理速度     VB.NETと差が無いような記事も見たことがあります。 こう考えるとC#とVBの差が、どんどん縮んできており、長所短所を見出すことができません。 いったい違いって何でしょうか、ご存知の方、ご教示いただきたくお願いいたします。

  • 指定ウィンドウのアイコンのキャプチャ

    はじめまして、よろしくおねがいします。 アイコンだけをキャプチャするソフトを作ろうと思っています。 以下の方法を試したのですがVBのカーソルアイコンが描写されてうまくいきません。 指定ウィンドウのカーソルアイコンをコピーする方法をご教授ねがえないでしょうか。 VBのバージョンは6.0です。 SetCapture (lngHandleWindow) DrawIcon Form1.Picture1.hdc, 0, 0, GetCursor ReleaseCapture

  • vb.net 画像の透過について

    背面画像Aと前面画像Bがあります。 画像Bは画像A上をファイルから読み込んだ X,YのLocationを任意に移動します。 Bの画像の白色の部分を透過にして、背面の画像Bが見えるように 表示したいのですが、うまくいきません。 PictureBoxコントロールのimageプロパティに 画像Bを設定して、backColorにTransparentを指定しても 親コントロール(画像Bを表示しているPictureBox)の BackColorで表示されるだけでした。 vb6だとimageコントロールを使用すればできました。 vb.netで何か良い方法はないでしょうか?

  • VB.NETからC言語への乗りかえについて。

    プログラミング未経験者のものです。 これから、新たにプログラム言語を習得したいと考えています。 そこで、数ある言語の中から、選択に迷ったのですが、奥も深くて比較的入り口も入りやすいというVB.NETからはじめようかとも考えました。 しかし、将来的には、高い仕様を具えるC/C++言語を習得してみたいとも考えています。 この場合、VBからCに移行するというのは、かなりたいへんなことなのでしょうか。よく聞く話なのですが、どれかひとつの言語を習得すれば、プログラムの考え方はどれも似ているので、他の言語を学ぶときにもそれほどの障壁はないという話も聞きますが、ほんとうでしょうか。実際には、かなり、文法上の相違があって、覚えるのはそうとうたいへんなのではないでしょうか。 まあ、英語を習得したあと、スペイン語を習得するほど困難ではないかもしれませんが。 また、多少本を読んで独学しているものの、演算子、条件判断、繰り返し、配列、ファイルの入出力など、基本的な作り方なども知ったのですが、プログラミングの難しさってどういうところにありますか。 たいていの人は難しくて脱落してしまうのでしょうか。 年齢的にも30代で、仕事をしながらですので、時間的なゆとりもあまりありません。 ずっとVBだけでいいのならともかく、後々、CやC++もマスターしてみたいと思っていますので、それなら、最初からCをやったほうがいいのでしょうか。 でも、VBはVBでフォームも簡単に描けますし、コントロールを貼り付けるという操作はたいへんわかりやすく、初心者がプログラミングの楽しさを味わうのにはうってつけの言語だとも思います。 ただ、VBにあまりどっぷりつかっても、Cを一から勉強する際、Cの文法に違和感を感じしてしまい、挫折してしまうかもしれません。 それならいっそのこと、初めからCをやったほうがいいのかなとも思うわけです。 また、このふたつの言語の特徴をいいますと、どのようなことがいえるでしょうか。機能的なこととか、将来性とか、いろんな角度からでも結構です。 VB.NETはOSや、ネットワークに強いとも聞いています。 でも、Cは、ポインタなどもありますし、CPU・ハードを直接操作できる強みもあるようですね。ハードに関与する場面というのがどれほどあるのかはよくわかりませんが。 どなたか、もしアドバイスを頂けましたらありがたく感謝致します。

  • VB.NETかC#かで悩んでます。

    こんにちは。 私は最近プログラムの勉強を始めようと思っているのですが、VB.NETかC#のどちらにすべきかで悩んでいます。 作成したいものはメモ帳やゲーム、簡単なペイントソフトなどの、ベクターや窓の杜で配布されているようなアプリケーションです。 自分の中の「こんなのあったら……」「こういうの便利そうだなぁ」というのを形にしたいんです。 すでにPCの中に【VisualStudio2012 Express For Desktop】もインストール済みで準備はできているんですが、一番重要な使用言語が決まっておりません。 調べたところ自分ではVB.NETかC#がいいなと思うのですが、他にも適切な言語があれば教えてください。 また、私は初心者のため、入門者におすすめな本なども教えていただけると嬉しいです。 よろしくお願いします。 (PC環境はWindows7 64bitです)

専門家に質問してみよう