我有一个c ++程序我写的是使用wine来运行暗黑破坏神II,使用system()函数调用wine命令。
(system("wine explorer /desktop=a,800x600 ~/Diablo/Diablo.exe"))
我有if / else语句使用/ desktop = a,desktop = b等运行该命令(作为条件),以便同时运行多个暗黑破坏神窗口,但我的程序按顺序调用每个(退出之前一直到桌面= g,所以它有点烦人)。
我的问题是:我如何测试(我用葡萄酒参数假设)看看desktop = a是否有效以及它是否未运行暗黑破坏神,但如果是在测试desktop = b?
编辑:这是我到目前为止(到桌面= g)
int main()
{
if (system("wine explorer /desktop=a,800x600 ~/Diablo/Diablo.exe"))
{
}
else if (system("wine explorer /desktop=b,800x600 ~/Diablo/Diablo.exe"))
{
}
编辑2:经过一些研究后我确实找到了这个(bash):
result=`ps -Al | grep Game.exe | wc -l` && echo $result
这应该适用于我的问题,但我无法弄清楚如何从c ++中调用它,这种方式允许我将输出从它传输到变量(不是没有创建文件并从中读取如果可能,我想尽量避免。)