社区
GAME,图形处理/多媒体
帖子详情
自己写了个播放器,要求双击MP3文件后, 只允许打开一个应用程序来播放
jozosoft
2006-12-22 08:44:02
自己写了个播放器,现在有处问题不好解决:
双击MP3文件后,我要求调用我的程序来放,可以实现。但是,每双击一个文件,系统就打开一个新的播放器,这当然是不允许的。
1、同一时刻只允许打开一个应用程序我会,但是,当第二个应用程序打开后,如果让它把mp3文件名传递给第一次打开的程序?
2、(此问题能解决一下更好) 如果让程序支持更多的音乐格式?如:rm之类。
谢谢!
...全文
192
9
打赏
收藏
自己写了个播放器,要求双击MP3文件后, 只允许打开一个应用程序来播放
自己写了个播放器,现在有处问题不好解决: 双击MP3文件后,我要求调用我的程序来放,可以实现。但是,每双击一个文件,系统就打开一个新的播放器,这当然是不允许的。 1、同一时刻只允许打开一个应用程序我会,但是,当第二个应用程序打开后,如果让它把mp3文件名传递给第一次打开的程序? 2、(此问题能解决一下更好) 如果让程序支持更多的音乐格式?如:rm之类。 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hai1039
2006-12-22
打赏
举报
回复
我是重载WndProc来截获消息的,如果你用别的办法就不知道了
hai1039
2006-12-22
打赏
举报
回复
可能你没有把播放器的Caption设成"语音播放器 "
需要有 Form1->Caption = g_szPlayerCaption;这样一句,不然找不到窗口
jozosoft
2006-12-22
打赏
举报
回复
用SendMessage 发送出消息后,第一个程序接收不到!
仅首次运行时,ParamStr(1); 才有用.
请一楼兄弟再帮忙
hai1039
2006-12-22
打赏
举报
回复
俺是用BCB的,delphi的改一下,原理是一样的。
hai1039
2006-12-22
打赏
举报
回复
HWND hVoicePlayerMutex; // The Mutex method
DWORD g_nMsgID = 0x3388;
AnsiString g_szCmdFileName = GetFileNameFromCMD();
AnsiString g_szPlayerCaption = "语音播放器 ";
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
hVoicePlayerMutex = CreateMutex(NULL, FALSE, "RunOnlyOneInstanceVoicePlayer");
if(hVoicePlayerMutex == NULL||ERROR_ALREADY_EXISTS == ::GetLastError())
{
SendNewFileMsg(g_szPlayerCaption, g_nMsgID, g_szCmdFileName);
return(0);
}
....
}
void SendNewFileMsg(AnsiString strPlayerName, int nMsgID,
AnsiString strFileName)
{
COPYDATASTRUCT sNewFileName;
HWND hPlayer = NULL;
sNewFileName.dwData = nMsgID;
sNewFileName.cbData = strFileName.Length() + 1;
sNewFileName.lpData = (void *) (strFileName.c_str());
hPlayer = FindWindow(NULL, strPlayerName.c_str());
if(NULL != hPlayer)
{
::SendMessage(hPlayer, WM_COPYDATA, (WPARAM) Application->Handle,
(LPARAM) &sNewFileName);
}
}
//---------------------------------------------------------------------------
AnsiString GetFileNameFromCMD(void)
{
AnsiString szFileName;
if(ParamCount > 0)
{
szFileName = ParamStr(1);
}
return(szFileName);
}
jozosoft
2006-12-22
打赏
举报
回复
Delphi自带的控件/
请一楼的详细说一下第一个问题的方法:如果把文件名传给第一次运行的程序
pikapig620
2006-12-22
打赏
举报
回复
rm似乎只有REALPLAYER支持的
你用啥插件做的啊
hai1039
2006-12-22
打赏
举报
回复
首先创建mutex来保证一个时间只有一个程序打开,如果不能创建,根据程序的title找到前一instance的handle,然后用sendmessage送新mp3文件名,同时把第二个instance关掉。
jozosoft
2006-12-22
打赏
举报
回复
BCB搞不懂.
现在想了个其它办法:
一打开新程序,就让新程序自动把旧程序给关了.
嘿.
123
播放
器
V1.0
在"123
播放
器
V1.0"中,用户界面的设计可能包括
一个
文件
打开
对话框,
允许
用户选择要
播放
的
MP3
文件
。这通常涉及到`GetOpenFileName` API,用于显示标准的
打开
文件
对话框。此外,
播放
列表的管理可能涉及到控件如列表...
mp3
转exe
文件
这种转换的主要目的是方便那些没有安装特定媒体
播放
器
或者不熟悉如何手动
打开
MP3
文件
的用户,他们可以直接
双击
EXE
文件
来
播放
音乐,而不需要任何额外的软件支持。
MP3
是一种广泛使用的数字音频格式,它采用了...
win32迷你音乐
播放
器
2. **列表框显示**:导入的音乐
文件
会被列在
一个
列表框中,用户可以通过查看这个列表来选择要
播放
的音乐。win32 API的`CreateWindow`函数用于创建列表框控件,而`InsertString`函数则用于向列表框中添加项目。列表框...
家庭多媒体
播放
器
.7z
总结来说,"家庭多媒体
播放
器
.7z"提供的可能是集成了多种
播放
功能和优化技术的多媒体
播放
解决方案,用户只需简单操作即可搭建起
一个
功能强大的家庭娱乐中心。无论是在闲暇时欣赏电影,还是在聚会中
播放
音乐,这样的...
基于MFC编
写
的
Mp3
播放
器
本项目为一门课程设计任务,旨在通过基于MFC(Microsoft Foundation Classes)的编程技术来开发
一个
简单的
MP3
播放
器
。该
播放
器
不仅能够满足基本的功能需求,如
播放
、暂停、停止等操作,还能提供良好的用户体验界面。...
GAME,图形处理/多媒体
1,185
社区成员
14,330
社区内容
发帖
与我相关
我的任务
GAME,图形处理/多媒体
Delphi GAME,图形处理/多媒体
复制链接
扫一扫
分享
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章