A、汽车在水平公路上,重力竖直向下,汽车水平行驶没有在重力的方向上移动距离,汽车所受的重力对汽车没有做功,故A错;B、人提着箱子站在地面不动,手给箱子一个向上的力,静止不动,没有移动距离,手的拉力对箱子没有做功,故B正确;C、过山车向下运动的过程中,车上乘客所受的重力竖直向下,乘客向下运动,乘客的重力对乘客做功,故C错;D、人把箱子从二楼提到三楼,手给箱子一个向上的力,向上移动了距离,手的拉力对箱子做功,故D错.故选B.