肥城龙山网络:专注肥城网站建设、网站开发、网页制作、软件开发等。 24小时服务热线
肥城龙山网络logo

肥城网站建设首页
网站建设
Website
客户案例
Case
软件开发
Advantages
 域名主机
Domain Hosting
 网站推广
E-mail
 服务&支持
Promotion
 联系我们
About Us
网站建设套餐

新闻中心
三层事物代码
利用token防止重复提交问题!!
使用layer.m弹出过程中微信缓存问题的解决办法
html常用特殊字符转义代码
iis 设置网站文件夹或文件读写 编辑 删除权限!!
sql去重复显示其他字段的方法总结
winform开发中两个路径的区别


我最近给泰安房管局和地税局开发一个,住房查询的合作系统,系统使用winform开发,在程序中有一个功能就是当查询用户发出一个查询业务,房管用户会像qq一样,有消息提示并且播放提示声音,但是当用户选择上传图片或选择其他路径时,程序就获取不到声音文件。

问题解答:以前一直都是用System.Environment.CurrentDirectory来获取应用程序的当前工作路径,通过当前工作路径来引用其它位于该目录下的很多文件,如图片,音频文件等,

            //播放声音
            SoundPlayer player = new SoundPlayer();//System.Environment.CurrentDirectory
            player.SoundLocation = System.Environment.CurrentDirectory + "\\msg.wav";
            player.Load();
            player.Play();
            


            label1.Text = "业务编号:"+abc;

            if (type == 0)//回复提示
            {
                if (isth == 0)
                {
                    this.Text = "业务回复提醒";
                    label2.Text = "您有一个业务已回复:";
                }
                else
                {
                    this.Text = "业务退回提醒";
                    label2.Text = "您有一个业务已退回:";
                }



            }

这段代码在Win7下好好的,但是放到XP就提示不存在了,很是奇怪,但是后来我把System.Environment.CurrentDirectory改成Application.StartupPath就没问题了,真是郁闷透顶了。

解决方法如下:System.Environment.CurrentDirectory的含义是获取或设置当前工作路径,而Application.StartupPath是获取程序启动路径,表面上看二者没什么区别,但实际上区别大得很。
先 说前者:比如说你程序放在桌面上启动,但是中间你用了一个OpenFileDialog打开了E盘名为abc的文件夹下的某一个文件,那么 CurrentDirectory就变成E:\abc了,所以如果你想再获取程序启动文件夹的某一个文件就没用了,但是 Application.StartupPath就不会这样了,无论你中间打开了哪个盘的文件,启动路径都是在桌面那里,一直不会变。


 
 
公司地址:肥城龙山公园园林局对过  网站备案/许可证号:鲁ICP备14032147号-2    
肥城龙山网络拥有多年网站建设及开发经验,从事网页设计、网站设计(全套)及制作等,因而网站制作的经验极为丰富。经营范围:肥城网站建设、网站制作、肥城网站设计等。


版权所有:肥城龙山网络科技中心