我遇到奇怪现象:
1、首先鼠标双击程序A,程序A运行正常,读入地图并显示。地图数据在A目录的子目录中。2、运行另外目录下的程序B,在B中用API函数creatprocess来运行程序A,结果发现A运行了,但是不能读入地图数据并显示3、把程序B拷到与A同一个目录下,再运行,这一次在B中createprocess运行A后,发现A正常运行,也可以读入地图了!!很奇怪啊!!哪位仁兄帮帮忙

解决方案 »

  1.   

    想必是你創建進程的時候參數跟shell創建的時候不同
    一般是初始的工作目錄之類的
      

  2.   

    刚才查了一下createprocess的说明,发现是我没有给environment赋值,我给了个NULL,这样新进程就继承了B的环境,而我的地图数据不在B目录下,所以就打不开地图了。就是这个原因,但是,哪位兄弟给个例子怎么给environment赋值呢??
      

  3.   

    设置CreateProcess中的 LPCTSTR lpCurrentDirectory
    假设A的目录为d:\pra
    char path[]="d:\\pra";
    CreateProcess(....
    path,
    ...);