我写了一个服务程序,其中在
void WINAPI ServiceMain(DWORD argc, LPTSTR *argv)函数中有这么一段代码:char chPath[255];
GetCurrentDirectory(255,chPath);
strcat(chPath,"A.exe");
system(chPath);结果system并没有执行A.exe但是如果写成system("c:\\A.exe");他就会执行难道服务程序中不能用system??那请问,我要在服务中执行某个EXE程序该怎么写呢?谢谢!
期盼佳音!!

解决方案 »

  1.   


    char chPath[255];
    GetCurrentDirectory(255,chPath);
    strcat(chPath,"\\");
    strcat(chPath,"A.exe");
    system(chPath);
      

  2.   

    不行,strcat(chPath,"A.exe");是对的,
    我测试过的
      

  3.   

    怎么我测试的结果是
    strcat(chPath,"\\A.exe");

    strcat(chPath,"\\");
    strcat(chPath,"A.exe");
    是对的
      

  4.   

    to  ukyoking(乐易) :你的方法我试过了,也不行to wj59(wj59) :应该不是路径问题
      

  5.   

    我试过了可以用啊,你有没有把"A.exe"放在这个服务程序的目录下呢?
      

  6.   

    strcat(chPath,"A.exe");
    你这段代码确实要改成strcat(chPath,"\\A.exe");
    GetCurrentDirectory只得到当前文件夹没有那个\啊如果这样还不行,你确信整个路径正确
    看看system的返回值
      

  7.   

    char chPath[255];
    GetCurrentDirectory(255,chPath);
    strcat(chPath,"\\winamp281_full.exe");
    system(chPath);
    可以用的,除非你不是把“A.exe”与这个服务程序放在同一个目录下
      

  8.   

    system用于执行一个系统命令,他首先查看是否是内部命令,如果不是,查找同一文件夹下是否有此可执行文件,如果还没找到,则从path环境变量中寻找,如果未找到将"Bad Command."