喫茶XRAYトップページ

[スレッド全体
]

[8936] レスしてしまいました返信 削除
2015/6/16 (火) 19:26:34 Mr.XRAY
こういった,なんと言いますか,知恵袋みたいのに初めてレスしてしまいました.

[ウィンドウハンドルって途中で変わるものなんですか?]
https://oshiete.goo.ne.jp/qa/9001419.html

もちろん,goo の ID を新規登録しました.
こういうのって,本当は,具体的な回答というか,解決策を示さないと
いけないのかな ?
ちょっと,igy さん風になってしまいました.

多分,質問された方のコードは,以下のようにすべきなんでしょうけど.
ウィンドウハンドルが変わるかも知れないと思っていると気づかないかと.
ウィンドウハンドルは変わることはないと思えば,
自分のコーディングに間違いあることは間違いありませんから.きっと
見つかるでしょう.

  if Name <> '' then
    form1.ListBox1.Items.Add(Name);
  form1.ListBox2.Items.Add(IntToStr(hWindow));
  Result :=true;
  //このResult の処理位置というか... 何か狙いがあるのか...
  //それとも単に Result := False; と Result := True の違いを知らないだけなのか
  //それとも,コールバック関数についての知識が不足しているのか

     ↓
  (リストの片方だけ追加しても... ねぇ)

  if Name <> '' then begin
    form1.ListBox1.Items.Add(Name);
    form1.ListBox2.Items.Add(IntToStr(hWindow));
  end;

# 「無題」で検出することにも少しばかり疑問が残りますが...



[8945] Re:レスしてしまいました返信 削除
2015/6/18 (木) 20:48:24 SO
▼ Mr.XRAYさん
> こういった,なんと言いますか,知恵袋みたいのに初めてレスしてしまいました.
>
> [ウィンドウハンドルって途中で変わるものなんですか?]
> https://oshiete.goo.ne.jp/qa/9001419.html


自分はこの逆みたいなことをやってて困っています。
静脈認証のアプリがあるんですが、
ID・パスワードの画面で静脈認証が成功するとID・パスワードを自動入力してくれるんですが、
初回は上手くいくんですが、受け側のアプリを再起動すると、
自動入力してくれないのです。


静脈認証のアプリは、ターゲットのウィンドウとIDやパスワードを入力するテキストボックスの
ID?(Hex値)を事前登録しています。
登録方法は、spy++みたいにテキストボックスやボタンをマウスで指定するんですが、
受け側のアプリを再起動すると、テキストボックスのID?(Hex値)が変わっているんです。
受け側をdotNetで作っているからかなぁ?

[8946] Re2:レスしてしまいました返信 削除
2015/6/18 (木) 22:01:07 Mr.XRAY
▼ SOさん

> 受け側のアプリを再起動すると、テキストボックスのID?(Hex値)が変わっているんです。
> 受け側をdotNetで作っているからかなぁ?


う〜ん.どうなっているんでしょうね ?
もしかしたら,固定した値にしていないか,なっていないのかも... ?

[660_他のアプリへ文字列送信 (Delphi 同士)]
http://mrxray.on.coocan.jp/Delphi/plSamples/660_SendTextID.htm#list2

ウィンドウハンドルも,以下のサンプルでは,RecreateWnd を実行しているので,
EXE 実行中に変化しますです m(_ _)m

[168_上下方向のアライメント機能付きの TEdit]
http://mrxray.on.coocan.jp/Delphi/plSamples/168_TEdit_VerticalAligment.htm

頑張ってくださいませ (こればっか.ハハハッ)


[8947] Re3:レスしてしまいました返信 削除
2015/6/18 (木) 23:36:58 SO
▼ Mr.XRAYさん

> [660_他のアプリへ文字列送信 (Delphi 同士)]
> http://mrxray.on.coocan.jp/Delphi/plSamples/660_SendTextID.htm#list2


なるほどーって感じですが、SetWindowLongでID固定するとき、
使われてないものを取得しないと、かぶりますね。
そういう、取得するWinAPIあったような。。。
チャレンジしてみます。
ありがとう、ございます。

[8948] Re4:レスしてしまいました返信 削除
2015/6/18 (木) 23:58:41 Mr.XRAY
▼ SOさん

> そういう、取得するWinAPIあったような。。。

あったと思います.Get.... かな ?
サンプルプログラム集にも何かサンプルがあったような...
外部アプリの ID の設定はできたかな ?
もしかしたら,Windows XP ならできたかも知れません.

# 人柱 SO さんに期待 !?


[9012] Re5:レスしてしまいました返信 削除
2015/7/14 (火) 17:18:29 SO
▼ Mr.XRAYさん

最近、別なことやってて報告遅れました。

結果、良好です(^-^)

SetWindowLongでID固定出来ました。
テストにて、GetDlgItemで得られたハンドルに対してSendMessageを送ると、
見事テキストボックスに文字が入力されました。
ありがとうございました。

[9017] Re6:レスしてしまいました返信 削除
2015/7/14 (火) 22:28:10 Mr.XRAY
> SetWindowLongでID固定出来ました。
> テストにて、GetDlgItemで得られたハンドルに対してSendMessageを送ると、
> 見事テキストボックスに文字が入力されました。
> ありがとうございました。


おおっ,人柱やってしまいましたか.
お疲れ様でした.
手抜きレスしてしまいまして,スンマセン.
別のスレッドで書いているように,プログラムに対するモチベーションが
いまいちなので,メールのレスも,最近はいい加減でございます.


[9018] Re7:レスしてしまいました返信 削除
2015/7/15 (水) 07:36:04 SO
▼ Mr.XRAYさん

> 手抜きレスしてしまいまして,スンマセン.
> 別のスレッドで書いているように,プログラムに対するモチベーションが
> いまいちなので,メールのレスも,最近はいい加減でございます.


いえいえ、[660_他のアプリへ文字列送信 (Delphi 同士)]が大変参考になりました。
ありがとうございます。

モチベは、回答への返信が無かったりしますと、結構落ちますよね。

自分も、以前プログラムの質問に回答したりしていたことも有りましたが、
回答への返事が無かったり、回答しても何も考えず、調べず、質問攻めにあって、
辟易したことがありました(^^;a

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82