C#、.NET迷你音乐播放器(改进版)

承接之前的博文,征集了之前博友们的意见,本人做了一些修改,添加了一些功能,也完善了一下现有的功能,

1、之前有调节音量,新增了组合键实现上一曲下一曲,空格播放暂停。

2、增加了换肤功能,当然皮肤图片博友们可以自行更改

3、新增的皮肤中控制按钮使用的Metro风格

4、设置FormBorderStyle为none后,相应的标题栏功能没了,修改后增加了点击任务最小化窗体,只需要引用一下类库

        [DllImport("user32.dll", EntryPoint = "GetWindowLong", CharSet = CharSet.Auto)] //管理FormBorderStyle:none
        public static extern int GetWindowLong(HandleRef hWnd, int nIndex);             //点击任务栏最大化最小化程序
        [DllImport("user32.dll", EntryPoint = "SetWindowLong", CharSet = CharSet.Auto)]
        public static extern IntPtr SetWindowLong(HandleRef hWnd, int nIndex, int dwNewLong);

  然后再Load事件中添加如下代码

            //点击任务栏图标实现最大化最小化
            int WS_SYSMENU = 0x00080000; // 系统菜单
            int WS_MINIMIZEBOX = 0x20000; // 最大最小化按钮
            int windowLong = (GetWindowLong(new HandleRef(this, this.Handle), -16));
            SetWindowLong(new HandleRef(this, this.Handle), -16, windowLong | WS_SYSMENU | WS_MINIMIZEBOX);

  

5、增加了进程检测,同时只能运行一个程序,避免了多次误点打开多个播放器的问题。

            //处理开启多个程序,检测进程,只允许一个应用程序运行          
        string mName = Process.GetCurrentProcess().MainModule.ModuleName;
            string pName = Path.GetFileNameWithoutExtension(mName);
            Process[] pro = Process.GetProcessesByName(pName);
            if (pro.Length > 1)
            {
                //MessageBox.Show("程序已经在运行,无需重复运行。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Dispose();
                Application.ExitThread();
            }

  这段代码同样在Load事件中

  别的都是小改,我也记不清了,文章底部附上源码,供博友们学习。

 

 VS2008版:

源代码下载地址

 

好多博友说用VS2010打开出问题,反正我在我这没问题。下面是我用VS2010转换的,也没问题。如果用Vs2010的,你们就下载这个吧

Vs2010版源码

 

申明一下:本人现在不从事软件开发了,所以加我QQ的就免了吧,很久没碰了,现在都忘了,非常抱歉没能帮到大家……(2013.3.2)

转载于:https://www.cnblogs.com/lijiangyanyu/archive/2011/12/15/2288970.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值