vb 执行文件 接收到用它的 HANDLE 然后调用 
sendmessage( handle,xxtext,xx,str );在VB测试环境中,使用父执行文件的一个编辑控件的 HANDLE ,这样就没有问题了 会在父进程中的控件中显示出来 。现在用DELPHI  CREATEPROCESS 调用该子执行文件 ,传递DELPHI EDIT1。HANDLE 给他 但是它接收参数没有问题 就相当于死机一样 等很久后,才可以关闭窗口 但信息没有在DELPHI控件中显示出来 另外 GETMESSAGE  怎么工作的?

解决方案 »

  1.   

    我们现在主要是想实现 VB 对执行的返回值得传递工作 。好像VB只能用系统的方法传递返回。
    现在就像采用,VB 写消息到 DELPHI 中去的方法。但目前测试就出现这个问题 。 是不是 CREATEPROCESS 参数的问题
      

  2.   

    GetMessage负责接收操作系统中产生的消息,
    然后通过
        TranslateMessage(AMessage);
        DispatchMessage(AMessage);
    这两个东西对消息进行整理、分派到VCl上。嘿嘿~~
      

  3.   

    lb_success := CreateProcess(ls_appname,ls_commandline,nil,nil,lb_inherit,ll_flags,nil,nil,lstr_startupinfo,lstr_processinformation);
          IF lb_success THEN
        begin
        ll_hprocess := lstr_processinformation.hprocess;
        repeat
          begin
            sleep(100);
        ll_success := GetExitCodeProcess(ll_hprocess,ll_exitcode);
          end;
          until ((ll_exitcode <> 259) or (ll_success = FALSE));    end;如果等待 执行文件结果 启动的VB执行文件就会死在SENDMESSAGE语句上,
    无法返回。     repeat
          begin
            sleep(100);
        ll_success := GetExitCodeProcess(ll_hprocess,ll_exitcode);
          end;
          until ((ll_exitcode <> 259) or (ll_success = FALSE));如果不等待结果,我的编辑框控件就可以接收到SENDMESSAGE 的消息,子程序就能成功返回。各位看看为什么? 对VB的消息传递不熟悉
      

  4.   

    哦 知道了 是SENDMESSAGE  需要等待我的消息处理,如果我循环等待结果,好像WINDOWS就没有帮我处理控件的这个消息了
      

  5.   

    還不知道你想解決什麼, 
    >>哦 知道了 是SENDMESSAGE  需要等待我的消息处理,如果我循环等待结果
    你可用 PostMessage
      

  6.   

    postmessage 也需要父进程等待呀!!!
    然道 子进程不能发了消息就走吗?