掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TLabelのハンドルを取得するには? (ID:12250)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
無事に意図する処理が出来ました。 ありがとうございました。 余分かも知れませんが、以下に作成したサンプルを載せておきます。 ------------------------------ // 自作メッセージ const WM_OPEN_MSG = wm_User + 10 ; ------------------------------ // 呼出側 procedure TForm1.Button1Click(Sender: TObject); var BufHWND :HWND ; BufSI :TStartupInfo ; BufPI :TProcessInformation ; Ret :Boolean ; ECode :Integer ; begin try GetStartupInfo(BufSI) ; Ret := CreateProcess("実行ファイルPath", nil, nil, nil, False, CREATE_DEFAULT_ERROR_MODE, nil, nil, BufSI, BufPI ) ; if not Ret then begin ShowMessage('実行できません (' + IntToStr(GetLastError) + ')'); end else begin repeat ECode := WaitForInputIdle(BufPI.hProcess,100); Application.ProcessMessages; until ecode = 0 ; BufHWND := FindWindow(PChar("Exeのフォームクラス"),nil) ; // 指定ウィンドウのハンドル取得 SendMessage(BufHWND,WM_OPEN_MSG,0,0) ; // ウィンドウにメッセージ送信 end ; except end ; end; ------------------------------ // Exe側 procedure ReceiveMessage(var Msg :TMessage); message WM_MY_MSG ; procedure TFormExe.ReceiveMessage(var Msg :TMessage); begin Label1.OnClick(Self) ; end ; procedure TFormExe.Label1Click(Sender: TObject); begin MessageDlg('メッセージ受けました',mtInformation,[mbOk],0) ; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.