あるChildWindowHandleにEnter(改行ではありません)するには?

解決


hiro  2004-09-09 08:46:29  No: 116250

今テキストボックスにメッセージを貼り付けることはできたのですか、このテキストボックスをEnter(実行)キーを押し方がわかりません。
メッセージ(ある子ハンドルにメッセージを貼り付け)
code = SendMessage(lngChildWindowHandle, WM_SETTEXT, 0, ByVal Atext)
おそらくこの文だと思うのですが....
'エンターキーを押す
    keybd_event VK_RETURN, 0, 0, 0
'エンターキーを離す
    keybd_event VK_RETURN, 0, KEYEVENTF_KEYUP, 0

これは、今実行したい子ハンドルにEnterなのでしょうか?また、他に何かあれば
教えていただきたいのですが...
よろしくお願いします。


特攻隊長まるるう  2004-09-10 02:10:58  No: 116251

関数名が特定されてるのにその動作が分からないってのは…
…ただ単に調べてないだけですね。プログラマとして失格です。
ここで2・3行で説明してもらうより、関数の仕様について
整理して書いてくれてるサイトで完全に理解しようとは
思いませんか?。
このAPI(keybd_event)はあたかもキーボードを操作したかの
ようにOSに通知します。それだけです。

SendMessage で VK_RETURN は送れなかったんですか?


hiro  2004-09-10 06:17:25  No: 116252

>…ただ単に調べてないだけですね。プログラマとして失格です。

厳しい意見、特攻隊長まるるうさんありがとうございます。
ただ、ここは初心者の掲示板ですよね?このような質問してはいけなかったでしょうか?
また、自分もいろいろ調べていろいろ試したりはしています。が、まだ、全然
わかっておらず、答えがあっていても使い方などがわからず、このような質問をしてしまいました。しかしながら、皆さんはここまで理解するまで、いろいろ勉強したり、
自分みたいに掲示板にて聞いたりして、覚えっていったと思うのですが....
たまたま自分はこの掲示板がとても親切に、また、わかりやすかったので利用したのですが、
今後は気をつけます。

>このAPI(keybd_event)はあたかもキーボードを操作したかの
>ようにOSに通知します。それだけです。
>…
>SendMessage で VK_RETURN は送れなかったんですか?
お教えありがとうございます。試みてみます。
ありがとうございました。


代弁者  2004-09-11 06:00:03  No: 116253

>ここは初心者の掲示板ですよね?このような質問してはいけなかったでしょうか?
『Visual Basic 初心者掲示板』の初心者はVisual Basicに対する初心者であって
「調べる」ことに対する初心者ではない。
APIを使って他のウィンドウにメッセージを送るプログラムは決して初心者の
書くプログラムではない、ウィンドウのハンドルやSendmessageを知っている者が
キーワードが解っていて調べられないはずが無いではないか。
あなたは単に初心者を装った怠け者かそれに気がつかない鈍感物のような匂いがする。
我々回答者は毎日の掲示板のやり取りの中から直感的にその匂いを嗅ぎ取るのだ。
よし初心者で有ったとしよう、蓋しあなたの文章からは初心者のひたむきな情熱は
感じられない、回答者はそのような質問者が嫌いなのである。
と「特攻隊長まるるう」さんはこう言っているのである。
>たまたま自分はこの掲示板がとても親切に、また、わかりやすかったので利用したのですが
人に甘えてはいけない、プログラムは孤独な作業であり、一人前のプログラマーになる為に
全ての問題は孤独裡の内に汗と努力で解決するのだ。
そしてここはそのような孤独者たちの切磋琢磨の道場なのだ。


hiro  2004-09-11 08:33:25  No: 116254

とても厳しい回答ありがとうございます。
>人に甘えてはいけない、プログラムは孤独な作業であり、一人前のプログラマー>になる為に
>全ての問題は孤独裡の内に汗と努力で解決するのだ。
>そしてここはそのような孤独者たちの切磋琢磨の道場なのだ。
この言葉はまさにその通りだと思います。”切磋琢磨”
しかしながら、人間はいろいろな人がいます。いろいろな考え方があります。
>APIを使って他のウィンドウにメッセージを送るプログラムは決して初心者の
>書くプログラムではない、ウィンドウのハンドルやSendmessageを知っている者>がキーワードが解っていて調べられないはずが無いではないか。
この文について、これは自分がプログラムを作るに当たって人はいかに、そのプログラムが
扱いやすく、また、PCを使うにあたっての思いつきにつき発想、創造、これらの
思い付き、たまたま、他のソフト(アプリケーションに対して)使いづらく、自分なりに、プラスアルファーできないか考えました。
しかしながら、他の人から見ればまだあまいな!その前に初歩的なことをやれ!と、思うかもしれません。
それはごもっともです。間違っていないと思います。しかし、この状況に立ったとき、
または、これをどーしても完成しなくてはいけないとき、または、掲示板でしか質問等できない状況の時など、この掲示板を見つけたらそのような質問はしませんか?
自分だけでしょうか?...(自分だけでしたすみません。他で調べます。)
  それに上の文について、これらはいろいろ検索、本を買い、調べてみつけました、
しかしながら、本当にまだまだ、初歩的なことしかできますんので、初心者といいました。
そこで、質問です。初心者とはどのレベルまでを言うのでしょうか?答えられますか?
また、本当に自分では初心者と感じています。どの質問が初心者がする質問、これは
プログラマー(できる人)がする質問、その区別は?そのような、区別はあるのでしょうか?
いろいろ、反抗な文すみません。言いたいのは、本当に何もわかりません。ということだけです。
これをやったら、もっと使いやすくいけるのでは?!と、いう感覚からでた質問です。
いろいろすみません。もっともっと勉強してがんばります。
まことにすみませんでした。
代弁者さんに質問ですが、VBを始めて何年くらいたつのですか?
自分はまだ、1年です。ただ、仕事をしながらなので、1年やっていませんが....


代弁者  2004-09-11 19:44:56  No: 116255

>代弁者さんに質問ですが、VBを始めて何年くらいたつのですか?
N88Basic->Oki-Basic->QuickBasic->VisualBasic->Vb.Net
経験約20年。
hiroさんは特に経験の年数を問題にしますが、経験の年数は問題ではありません。
Javaで有ろうがPascalで有ろうが、たとえRGBでも必要ならば今日からプログラムをはじめます。

>初心者とはどのレベルまでを言うのでしょうか?答えられますか?
初心者、初心者と言っているのはhiroさんでしょう。
私は初心者ですと掲示板に書く必要はありません、初心者とはどのレベル
まで言うのか判らなければなおさらでしょう。

>ここで2・3行で説明してもらうより、関数の仕様について
>整理して書いてくれてるサイトで完全に理解しようとは
>思いませんか?。
特攻隊長まるるうさんはこう書いていますよ。
あなたが前の質問をしてから次の質問をするまでどの位時間が経っていますか?
その時間であなたは何を調べ、何を自分で試されたのですか?
前の質問にzさんが最後にあなたにレスをつけていますよ、その回答はどうなっていますか?
自分の聞きたいことだけ聞いて、他のほかの人のレスには答えない、それでいいのですか?
ここはVisualBasicの初心者掲示板であってマナーの初心者掲示板では有りません。
これらのことを。私は匂いと書きました。

>どの質問が初心者がする質問、これはプログラマー(できる人)がする質問、その区別は?
あなたの質問が悪いとは言っていません、あなたの力で調べれば判ることを聞いていませんかと
申し上げています。


hiro  2004-09-12 08:17:42  No: 116256

今回はいろいろ勉強になりました。もっともっと勉強してがんばってみます。
今回の失礼な文は、まことにすみませんでした。
>あなたの質問が悪いとは言っていません、あなたの力で調べれば判ることを聞い>ていませんかと
>申し上げています。
ありがとうございます。


代弁者  2004-09-12 19:59:54  No: 116257

>今回の失礼な文は、まことにすみませんでした。
私の方もストレートな批判をしました、申し訳ありませんでした。
最後にひとつだけ、問題が解決した場合、どのようなプログラム
によって解決したか書かれると、これを読まれている人や
後に検索で探し当てた人の役に立つと思います。
自分のプログラムをさらすことはなかなか勇気のいる事ですので
これは出来ればということになります。
頑張ってください。


特攻隊長まるるう  2004-09-14 02:59:13  No: 116258

代弁者さんフォローありがとう御座います。
…一応、ボクもレスつけておくべきなのかな?(^^;)

まず最初に言っておきますが、hiro さんの言うところの
『質問してはいけない質問』なら無視か…管理人さんに
削除依頼を出してますw。…ま、このサイトで削除依頼を
出したの…過去1回しか無いですが…。

で、例えば八百屋で買ったキャベツを切ったら腐ってたとします。
この場合、八百屋は責任を持つべきです。例えば入荷日の管理、
展示方法の選定、基本的なことは八百屋である時点で責任を
持つべきです。熟練度は関係ありません。その上で不可抗力に
よる結果なら仕方のない事です。でも3ヶ月前に入荷した
キャベツを直射日光のうえ雨ざらしで展示し、売ったら腐ってた
…これでは八百屋失格です。別に厳しくないですよね?
……いたって普通の事だと思います。
プログラマの商品は自分の書いたプログラムです。
当然、自分の書くコードには責任を持つべきです。その為に、
自分の使う関数の仕様確認は基本的な事となります。なぜなら、
それを知らないという事は、自分がどんな動きをするコードを
書いたか分からないという事で、コードに関して責任を放棄している
と言って良いからです。関数名が特定されている時点で、関数名
のみをキーワードに検索しても調べられてしまう、調べる難易度は
高くない事ですし、それができてないならプログラマ失格と言って
間違いではないでしょう。初心者であるかどうかは関係無いですね。
むしろプログラマとしての姿勢が間違ってると判断します。
>答えがあっていても使い方などがわからず、このような質問をしてしまいました。
この考え方がマズいんじゃないかと思うんですよねぇ。答えは結果
として後からついてくるもので、答えがあっているだけでは意味が
無いと思います。だって応用できないでしょ?例えば
    code = SendMessage(lngChildWindowHandle, WM_SETTEXT, 0, ByVal Atext)
が、『ある子ハンドルにメッセージを貼り付ける』コードだと知ったら、
それをコピーするのは一般人(素人)のする事で、プログラマのする事では
ありません。SendMessage 関数を調べ、各引数の値を調べ、どういった
処理か理解し、自分の希望の動きと同じか確認する。それがプログラマ
のするべき行動です。それをする事によって初めて『ある子ハンドルに
メッセージを貼り付ける』という結果を得るのです。本に書いてあるから
正しいとも限りませんし(MSDN のサンプルなんか修正しないと動かないもの
が沢山あったりします(汗))回答者に十分な意図を伝えられてなかったら?
回答者が間違ってたら?環境の違いで動かないプログラムだったら?自分で
確認できるまで責任なんて持てない筈です。ここまでしてやっと自分の技術
となり、知識となり、応用できるわけでしょ?。この過程においても
自分の使う関数の仕様確認は一番の基本となります。

初心者には難しいレベルの技術なら誰かにやってもらったらいい事だと
思いますか?残念ながら逆です。

>しかしながら、他の人から見ればまだあまいな!その前に初歩的なことをやれ!と、思うかもしれません。
>それはごもっともです。間違っていないと思います。しかし、この状況に立ったとき、
>または、これをどーしても完成しなくてはいけないとき、または、掲示板でしか質問等できない状況の時など、
実力以上の事をする…それはペーパードライバーをF1マシンに乗せて
サーキットを走らせるという事ですよね?。高確率で大クラッシュを
起こします。実力に合った事をするよりたくさん回りに迷惑をかけ、
迷惑をかけた分だけたくさん怒られます。必然です。だからこそ実力に
合った事をするより多くの努力を求められます。理解してますか?。
代弁者さんの書き込みより
>APIを使って他のウィンドウにメッセージを送るプログラムは決して初心者の
>書くプログラムではない
それは知っておくべき知識も多いという事です。直接ハンドルとかで操作できますし、
影響が大きいです。初心者であると言う事が言い訳にはなりません。逆です。
中級者が常識として知っている事が初心者の hiro さんに求められるんです。

>それに上の文について、これらはいろいろ検索、本を買い、調べてみつけました
それはボクの知る範囲の事じゃ無いですからねぇ(^^;)参考になりません。
ここで今、やってる事が全てです。最初の質問で hiro さんがやった事は
自分が使おうとする関数について基本動作を知らないまま質問し、それは
関数名のみで検索できるレベルで、それを回答者に説明させようとした。
それのみです。もし hiro さんが大金持ちでも、神様でも、初心者の中で
一番の努力家でも、今やってる事が間違ってれば怒られます。

ここから余談ぽいですが、
>しかしながら、皆さんはここまで理解するまで、いろいろ勉強したり、
>自分みたいに掲示板にて聞いたりして、覚えっていったと思うのですが....
そうでもないと思います。ボクの場合、勉強はしましたが、掲示板で
聞いてはいません。基本的なことは授業料を払って学校で学びました。
質問掲示板の利用もほぼ最初から回答者でしたね。目的も最初から、自分が
知らない分野の知識を付け、それを自分で調べる事によりスキルアップ
する事でした。最初から、自分の分からない事を自分で調べる事が目的でした。
だからと言って掲示板で質問するのが悪いとは思ってません。あるものは
利用すれば良いでしょうし、むしろボクのスキルアップに協力してくれてる
ので有り難いと思ってます。
>プログラマー(できる人)がする質問、その区別は?そのような、区別はあるのでしょうか?
いろいろな解釈があるとは思いますが、program(⇒けいかく(計画),よてい(予定))
ですので、少なくとも、前もって動きが予想できてて、それを組み立てられて
いなければ、その人をプログラマと呼ぶのは言葉として矛盾してるでしょう。
技術的な部分で分からなくても、口頭で説明できてないとヤバいですね。
…でもこの部分は(ボクもヤバい時があるのでw)意図が見えればそれほど
厳しくは言ってないと思います。
今回の hiro さんはプログラマとしての基本概念(?)…で疑わしかったので
自分がプログラマだと思うなら、するべき質問では無かったと思います。
…他にもいろいろあるでしょう。全部、今、ここであげろと言うのなら無理。
>初心者とはどのレベルまでを言うのでしょうか?答えられますか?
これも総合的なものなので色々な基準があるでしょう。ボクの1つの基準は一人で
調べられる事です。そもそも全くのオリジナルの発想と成り得るのはごく一部です。
同じ人間の考える事ですから、質問板の5割はWEB上に存在する既存のソースを
コピーしただけでもそれなりに動くものが回答として用意できるでしょう。
ちょっと応用すればできるものまで含めれば8割以上です。代弁者さんが
>プログラムは孤独な作業であり、一人前のプログラマーになる為に
>全ての問題は孤独裡の内に汗と努力で解決するのだ。
って書いてますが、こーゆー意識でいると、逆に一人でもできる環境が
揃ってる事に気づかされます。ヘルプがあります…何のために?。最近は
WEB 上の資料も多いです。幸せなことです。ま、厳密な意味で一人じゃ
ないですが、膨大な資料の中から一人で関連事項をピックアップできる事が
初心者卒業の1つの基準だと思ってます。

怒られたくないですか?…それには実力が必要です。他人に迷惑をかけたく
ないですか?…それにも実力が必要なんです。実力が無いうちは覚悟して
おくべき事なんじゃないですか?。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加