两个有关问题,88分含泪送出

两个问题,88分含泪送出
各位兄弟,需要你们的时候到了。

问题一:现有一个可执行A.exe程序(必须从“开始”-》“运行”-》cmd才能启动),并且该程序执行是为了利用B.txt文件分析另一个C.txt文件(在cmd中执行格式是:   A   B.txt   -k   C.txt)   ,而现在我需要先执行另一个D.exe程序,让D调用A,然后自动写入A   B.txt   -k   C.txt       ,怎么做?注意是cmd格式的

问题二:分布式系统,10台机子同时执行一个程序为了得到一个结果,哪台先做好,就发消息给服务器,服务器接收到消息后,立刻通知其他机器停止执行,继续下一个任务,怎搞?

这种机子之间互搞还是头一次接触,麻烦讲解详细点,万分感谢,改天请吃饭。

------解决方案--------------------
问题1
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(si);
CreateProcess(NULL, _T( "这里填a程序的路径 A B.txt -k C.txt "), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
------解决方案--------------------
STARTUPINFO si = {0};
PROCESS_INFORMATION pi = {0};
si.cb = sizeof(si);
CreateProcess(NULL, _T( "这里填a程序的路径 A B.txt -k C.txt "), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);

DWORD error = GetLastError();
再试一吓上面的代码,看error里的值是什么

------解决方案--------------------
B.txt 和 C.txt在当前目录或系统目录下吗?没有的话加上全路径
ShellExecute和WinExec应该也可以实现
------解决方案--------------------
看一吓你的代码`CreateProcess的代码``错误代码5就是拒绝访问``而这个错误的原因有很多。。
------解决方案--------------------
问题一CrazyAzreal(顶..真系稳食艰难!)的方法是可行的,
关键
CreateProcess(NULL, _T( "这里填a程序的路径 A B.txt -k C.txt "), NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
路径,如果是当前路径的话,要用 ".\\... ",如果你用了 ".\ "有可能出现error = 5的错误.
还有一点,你用CMD运行A.exe可以,而双击去不能.其实,不是A.exe没有执行,而是出现一个一闪而过的窗口,你看不到罢了.所以用CreateProcess时不会有问题的.

------解决方案--------------------
能不能改A.EXE的代码?如果可以,在A的代码里设定显示控制。如果不能得话,建一个bat文件,在bat里启动A.exe。其他的,我暂时想不出更好的方法
------解决方案--------------------
对了,你想输入的参数也可以写在bat文件里,和cmd命令下的一样写,然后用CreateProcess直接启动bat文件不就可以得到你要的结果了?