怎样在VC++,MFC中, 用cmd控制的音乐播放器
我写了一个简单的音乐播放器,可以从cmd中调出并播放参数文件,如:Player.exec:\User\music\Dynamic.mp3现在的问题是这个程序需要在后台运行...
我写了一个简单的音乐播放器,可以从cmd中调出并播放参数文件,如:
Player.exe c:\User\music\Dynamic.mp3
现在的问题是 这个程序需要在后台运行, 然后需要用cmd来控制这个程序。 比如,输入stop 或者 Player.exe stop 就可以停止音乐。 有什么办法么? 谢谢
或者有没可能做多线程,一个查输入,一个播音乐?
(我觉得这个和WMP里面的 ctrl + -> 开始放是不是有点像) 展开
Player.exe c:\User\music\Dynamic.mp3
现在的问题是 这个程序需要在后台运行, 然后需要用cmd来控制这个程序。 比如,输入stop 或者 Player.exe stop 就可以停止音乐。 有什么办法么? 谢谢
或者有没可能做多线程,一个查输入,一个播音乐?
(我觉得这个和WMP里面的 ctrl + -> 开始放是不是有点像) 展开
3个回答
展开全部
像你所说的是不可能的!
给add_test.exe传递参数,这个很简单!只要得到应用程序对象App,(用AfxGetApp()函数得到),App类有个成员变量m_lpCmdLine,m_lpCmdLine是个数组,他就是传递过来的参数!
而要给CMD传递回去参数,那个是不可能的!假如一个程序要接受参数,要么就传递命令行参数,就像刚刚给你说的!要么就使用消息循环,给窗口发送以个消息!而CMD是没有消息循环也不会动态的接收命令行参数的!!
但是LZ可以考虑做以个控制台程序,就是和CMD框一样的程序!你可以在CMD里调用,那个只是CMD暂时转向你写的控制台程序执行!你就在你自己写的控制台程序里显示结果,然后Exit就可以了!
请参考,希望可以帮到你。
给add_test.exe传递参数,这个很简单!只要得到应用程序对象App,(用AfxGetApp()函数得到),App类有个成员变量m_lpCmdLine,m_lpCmdLine是个数组,他就是传递过来的参数!
而要给CMD传递回去参数,那个是不可能的!假如一个程序要接受参数,要么就传递命令行参数,就像刚刚给你说的!要么就使用消息循环,给窗口发送以个消息!而CMD是没有消息循环也不会动态的接收命令行参数的!!
但是LZ可以考虑做以个控制台程序,就是和CMD框一样的程序!你可以在CMD里调用,那个只是CMD暂时转向你写的控制台程序执行!你就在你自己写的控制台程序里显示结果,然后Exit就可以了!
请参考,希望可以帮到你。
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
Linux 嵌入式系统中,USB 启动模式能够烧写 ARM 的 uboot 的原因主要有以下几个方面:1. USB 启动模式相对于传统的 BIOS 启动模式来说,具有更高的兼容性和灵活性,可以支持更多的硬件设备和操作系统。2. USB 启动...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
展开全部
不能再用Player.exe stop,
你的play要把mp3分成很多小段,播放一段后检查键盘输入,如果不是stop就继续播放下一段。
总之,你很难实时停
你的play要把mp3分成很多小段,播放一段后检查键盘输入,如果不是stop就继续播放下一段。
总之,你很难实时停
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以的, 这涉及到了进程通信的问题
运行 Player.exe c:\User\music\Dynamic.mp3。
当再次运行 Player.exe stop 时,其实相当于又打开了一个player。
新打开的player需要将stop命令传递给原来的player。不过这样做的麻烦了。
这不同于ctrl+ ->, 这是快捷键,是用键盘hook实现的,相对较容易。
运行 Player.exe c:\User\music\Dynamic.mp3。
当再次运行 Player.exe stop 时,其实相当于又打开了一个player。
新打开的player需要将stop命令传递给原来的player。不过这样做的麻烦了。
这不同于ctrl+ ->, 这是快捷键,是用键盘hook实现的,相对较容易。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询