外部アプリコントロール

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
メッセージ
作成者
まーくん

#16 投稿記事 by まーくん »

>イグトランスさん
ノッチさんの書き込みからするとどうやらWinspectorではコントロールIDは取得出来ないみたいですね。。。
(単に私がわかってないだけかも知れませんが^^;)
Visual Studio・・・今、無償版が出てるみたいですがあれには入ってないんですかね?!
御存知の方がいらっしゃれば教えて下さい。

>ノッチさん
わざわざインストまでして頂き恐縮です。

> StylesExの下に表示されるIDと言う項目がウィンドウIDになります。
ウィンドウID以外のIDはこのアプリではわからないのでしょうか?
ウインドウID、コントロールID、etc・・・IDがありすぎて混乱しそうです><

> この項目が起動するたびに違う値になるのであれば、
> 決まったコントロールの配置ではなく、状況に応じて配置するコントロールを変更
> している可能性があります。
> (ベースとなるIDから+1したIDで次々とコントロールを作成していく等)
>
> そうなると、IDからウィンドウハンドルを取得するのは難しいので、
> GetWindowのGW_CHILDやGW_HWNDNEXTで探していくか、
> EnumChildWindowでコントロールのハンドルを列挙していって
> キャプション、クラス、スタイル、サイズ等を元に目的のウィンドウを探す、
> という方法しか思いつきません。
上記のソースを御覧になって頂けばおわかりになると思うのですが
クラス名は固定だと思うのでウィンドウハンドルまでは取得出来ているんじゃないかと思うのですが…

> ちなみに何のアプリケーションを操作したいのでしょうか?
> IEの画面とかですか?
いえ、IEでは無いです。
『YSIGet』と言うダウンロード用アプリです。
これで貼り付けを・・・と考えていました。

・YSIGet 0.99c.exe(サイズ250KB UPLOADしました)
http://dl1.f-forge.com/file.php?id=VMTe5vydp2tY4gLuJ3oh

・アプリの説明(元ページが無いみたいなのでキャッシュから)
http://72.14.203.104/search?q=cache:FfH ... =clnk&cd=1
ノッチ
記事: 82
登録日時: 2005年6月01日(水) 23:27
お住まい: 北海道札幌市

#17 投稿記事 by ノッチ »

> Visual Studio・・・今、無償版が出てるみたいですがあれには入ってないんですかね?!
> 御存知の方がいらっしゃれば教えて下さい。

これは・・・!!
と思って軽く見てみたのですが、どうやらコンパイラとかRAD環境のみで
付属のソフトはなさそうです。

> > StylesExの下に表示されるIDと言う項目がウィンドウIDになります。
> ウィンドウID以外のIDはこのアプリではわからないのでしょうか?
> ウインドウID、コントロールID、etc・・・IDがありすぎて混乱しそうです><

ウィンドウIDと表現したのが誤解を与えてしまったようです。
コントロールもウィンドウと同じものです。
ただ、親ウィンドウに配置している子ウィンドウのことをコントロールと呼んでいるだけでして。
ですのでウィンドウIDとコントロールIDは同じものと考えていただければOKです。
まーくん

#18 投稿記事 by まーくん »

その後、色々と調べてる内に目的のクラス名が#32768(ポップアップメニュー)なので、どうやってもメッセージが送信出来ないと言う事が理解出来ました。
(ウィンドウがアクティブになってのでクラス自体が存在していない)

SetActiveWindow等を用いる事でメッセージ送信が可能になるものでしょうか?
ゲスト

#19 投稿記事 by ゲスト »

> >イグトランスさん
> ノッチさんの書き込みからするとどうやらWinspectorではコントロールIDは取得出来ないみたいですね。。。
> (単に私がわかってないだけかも知れませんが^^;)
> Visual Studio・・・今、無償版が出てるみたいですがあれには入ってないんですかね?!
> 御存知の方がいらっしゃれば教えて下さい。
>
> >ノッチさん
> わざわざインストまでして頂き恐縮です。
>
> > StylesExの下に表示されるIDと言う項目がウィンドウIDになります。
> ウィンドウID以外のIDはこのアプリではわからないのでしょうか?
> ウインドウID、コントロールID、etc・・・IDがありすぎて混乱しそうです><
>
> > この項目が起動するたびに違う値になるのであれば、
> > 決まったコントロールの配置ではなく、状況に応じて配置するコントロールを変更
> > している可能性があります。
> > (ベースとなるIDから+1したIDで次々とコントロールを作成していく等)
> >
> > そうなると、IDからウィンドウハンドルを取得するのは難しいので、
> > GetWindowのGW_CHILDやGW_HWNDNEXTで探していくか、
> > EnumChildWindowでコントロールのハンドルを列挙していって
> > キャプション、クラス、スタイル、サイズ等を元に目的のウィンドウを探す、
> > という方法しか思いつきません。
> 上記のソースを御覧になって頂けばおわかりになると思うのですが
> クラス名は固定だと思うのでウィンドウハンドルまでは取得出来ているんじゃないかと思うのですが…
>
> > ちなみに何のアプリケーションを操作したいのでしょうか?
> > IEの画面とかですか?
> いえ、IEでは無いです。
> 『YSIGet』と言うダウンロード用アプリです。
> これで貼り付けを・・・と考えていました。
>
> ・YSIGet 0.99c.exe(サイズ250KB UPLOADしました)
> http://dl1.f-forge.com/file.php?id=VMTe5vydp2tY4gLuJ3oh
>
> ・アプリの説明(元ページが無いみたいなのでキャッシュから)
> http://72.14.203.104/search?q=cache:FfH ... =clnk&cd=1
返信する