程序a调用ShellExecute执行程序b,需要传递参数n个
程序b如何接口?
多谢各位大侠。

解决方案 »

  1.   

    先将数据保存在一个.txt或.ini文件中,或直接保存在注册表中,再让别一个程序读。也许用COM也可以写吧,最近在研究。
      

  2.   

    _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine, int nCmdShow),其实呢,你要给程序传入参数,参数放在lpCmdLine就行了,在程序中解析lpcmdLine从而分解出参数为程序所用
      

  3.   

    我认为可以考虑用消息机制来做,要传的内容可以封装在参数中
    (1)
    在一个应用程序中调用:SendMessage(HWND hWnd ,UINT message,void * param);在接收消息的程序中可以重载消息处理函数 :windowsProc()
    再在消息处理函数中处理用户自定义消息即可。(2) 也可以用DDE通讯,不过我没有做过,找些例子就可以
      

  4.   

    不管用ini文件还是注册表也好,有一个问题就是能不能及时处理更新的数据。而且程序必须循环去读文件,这样对系统的开销相对来说比较大,这是我个人的认为!
      

  5.   

    参数如果很多的话,不要用启动时传递参数的方法不太现实,看你的要求,我推荐用WM_COPYDATA消息来 传递,可以保证实时性,而且比较简单。如果性能要求很高,那么就要用DDE、COM或内存映射文件等比较烦琐的方法了。你可以查一下MSDN,有专门对进程间通讯的专题。当然,如果被调程序不是你写的话,那只有用命令行参数了。
      

  6.   

    进程间通讯用file mapping最好
      

  7.   

    先将数据保存在一个.txt或.ini文件中,或直接保存在注册表中,再让别一个程序读。
      

  8.   

    你要是传的是静态参数是动态的呢?我这种方法或许对用你调用ShellExecute时有用的,其它涉及到进程间的数据交换问题,一般是动态的传递,