- ベストアンサー
VisualBacsic6.0でvbNullStringって何だろう?
こんばんわ。。また投稿しますebifuraiです。 今回、はこのページ http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t02.htm のウィンドウハンドル、キャプションの取得について教えて頂きたいのです。ここのページのソースコードを貼り付けてVB6で走らせたのですが、vbnullstringのところで コンパイルエラー:プロシージャの外では無効です。 と出ます。果たしてVB6でのNull文字はどう記述したらいいのでしょうか?またこのプログラムでキャプションの一部をヒットさせるという事はできるのでしょうか? まだVB初心者なので意味が良くわかりません。勉強しなきゃと思うのですが、WindowsAPIがらみでいい書籍とかないでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コードを拝見しましたが... vbnullstringが、どうのこうのと言う前に、下記のコードがプロシージャ外となっているでしょ? だからエラーになっているんですよ? ってことなんで、処理したいイベント処理内に、コードを記述してください。 Dim hwindow As Long hwindow = FindWindow(vbNullString, "無題 - メモ帳") If hwindow <> 0 Then hwindow = FindWindowEx(hwindow, 0, "edit", vbNullString) End If If hwindow = 0 Then MsgBox "エラー" MsgBox hwindow
その他の回答 (2)
- redfox63
- ベストアンサー率71% (1325/1856)
ご質問の中のURLを丹念に熟読しましょう このページの前のセクションに 関数GetOSの説明があるようですが ・・・ VB6の入門書を手元に準備してこれをマスターしてからの課題のように思います
お礼
ありがとうございます。まだ右も左もわからないebifurai55ですが、VB練習中です。何かあったら頼ります^^ ではでは
- redfox63
- ベストアンサー率71% (1325/1856)
どのようなコードをお書きなのでしょう? エラーの出ているコードを公開しても支障の無い範囲で投稿してみましょう そのエラーが起きる状態への必要最小手順もご提示ください > プロシージャの外 ・・・ とあるので DeclareなどのAPI宣言部に記述されているのでしょうか?
補足
>> プロシージャの外 ・・・ >とあるので DeclareなどのAPI宣言部に記述されているのでしょうか? はい、そうですDeclareにFunctionと共に記述されております。 コードを挙げると字数エラーになりそうなので、ソースコードあげました http://www.interq.or.jp/dragon/crw/GetCaptionName-ebifurai55.lzh ちなみにこのソースコードは消される可能性もあります ※必要最低手順。 とりあえずソースコードをコピーしてプログラムをテストコンパイルすると発生します。 僕が望む事は、 ・タイトルバーのキャプションでウィンドウをアクティブにする。 ・キャプションの右にあるアプリケーション名だけでヒットする。 ・クラスでヒットしてもいい ・その返り血でキーボード操作をエミュレートする。 ・できれば外部プログラムも実行する様にする 最後のは蛇足ですが、それができれば大体用は事足ります。 精進が足らないのかもしれませんが、よろしくおねがいします。
補足
コマンドボタンを付けてそこに配置したら今度は、 GetOS() のところで何か引っ掛かってしまいました。色々と調べてみた結果 ・GetOS()の何かが足らない ・ソースコードが1999年(10年前以上)のものである という事がわかりました。つまりソースコードとしては古過ぎるという事です。これは一体どう解釈すればいいのでしょうか?あきらめて他のソースを参考にした方がいいのか、APIについてもっと勉強した方がいいのか、あるいはGetOSのソースコードを探してきたほうが良いのか ご教授お願いします。 普通のアプリケーションには興味がなくてAPIを叩いて使う様な気がします。私のVisualBasicの用途は