20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77
1

Ошибка после перезагрузки

12.02.2010, 16:49. Показов 880. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как заставить проиграть звук в SoundPlayer, если экзешник поместить в автозагрузку и перезагрузть ПК.. После перезагрузки пишет ошибку что файл wav не обнаружен... при этом если просто запустить программу то все работает...

Простой пример кода:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Media;
 
namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
 
        }
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);
            try
            {
                SoundPlayer soundPlayer = new SoundPlayer("sound.wav");
                soundPlayer.Load();
                soundPlayer.Play();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            
        }
 
    }
}
Очень прошу помочь, та же проблема при открытии в поток после перезагрузки XML файла.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.02.2010, 16:49
Ответы с готовыми решениями:

Продолжение работы батника после перезагрузки системы или запуск после перезагрузки
Добрый день! Нужно реализовать в .bat файле следующие: @echo off start /wait *.exe/s...

После восстановления работает до перезагрузки. После перезагрузки все сначала. Переустановка ОС не помогла.
Такая проблема: после включения ноутбука потребовалось восстановление запуска и системы. После...

Ошибка после перезагрузки Firebird 2.5
Здравствуйте, переустановили Firebird с 2.0 на 2.5. Ранее всё работало нормально, после установки ...

10 зависает. После перезагрузки ошибка
Собственно сабж. Мать: z97m-g43 SSD; OSZ V 120 i5 4570 gtx 960 ddr3 8 gb

7
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
12.02.2010, 16:54 2
Попробуйте писать полный путь к файлам.
C#
1
 SoundPlayer soundPlayer = new SoundPlayer("D:\\sound.wav");
0
20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77
12.02.2010, 20:39  [ТС] 3
Но какая выгода от этого.. откуда мне знать где он будет на диске C или В!?
Я попробую.. и даже отпишусь.. но все же это не решение..

Добавлено через 3 часа 37 минут
Проблему удалось решить запихнув wav файл в поток Stream...
Теперь такой вопрос из-за чего нельзя загрузить просто файл из каталога в программу при старте(запуске) Windows
0
1319 / 992 / 127
Регистрация: 08.12.2009
Сообщений: 1,299
13.02.2010, 00:33 4
как это ни тупо. при инициализации всех приложений автозагрузки в винде - только один домен
1
Заблокирован
13.02.2010, 10:08 5
Если твой файл wav будет в той же папке что и твоя программа, тогда нет проблем
C#
1
2
3
4
//возвращает директорию
            string str = AppDomain.CurrentDomain.BaseDirectory;
            SoundPlayer soundPlayer = new SoundPlayer(str + "sound.wav");
            soundPlayer.Play();
Добавлено через 21 минуту
А еще лучше - я бы загнал этот файл в ресурсы и закомпелировал все это.
C#
1
2
3
 SoundPlayer sndplayr =
               new SoundPlayer(WindowsFormsApplication7.Properties.Resources.sound);
           sndplayr.Play();
1
20 / 20 / 0
Регистрация: 26.10.2008
Сообщений: 77
13.02.2010, 12:38  [ТС] 6
А еще лучше - я бы загнал этот файл в ресурсы и закомпелировал все это.
Ну в последний раз я писал именно про этот случай.. Так никаких проблем, а вот
сли твой файл wav будет в той же папке что и твоя программа, тогда нет проблем
Таким образом попробую... Хоть и не совсем пока понял про что идет речь в этой строке..
AppDomain.CurrentDomain.BaseDirectory;
0
274 / 200 / 33
Регистрация: 18.04.2009
Сообщений: 177
13.02.2010, 12:59 7
Мне кажется, что это путь к твоему exe'шнику. Его можно также получить следующим кодом:
C#
1
Application.StartupPath;
Тогда путь к твоему файлу, если он лежит в той же папке, что и твой exe'шник будет таким:
C#
1
2
SoundPlayer soundPlayer = new SoundPlayer(Application.StartupPath + @"\" + "sound.wav");
            soundPlayer.Play();
1
Заблокирован
13.02.2010, 14:00 8
Цитата Сообщение от kapriz0n Посмотреть сообщение
Хоть и не совсем пока понял про что идет речь в этой строке..
Получаешь директорию запущенной программы. И откуда бы не запускал твою программу пользователь - ошибки не будет.
1
13.02.2010, 14:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2010, 14:00
Помогаю со студенческими работами здесь

После перезагрузки ошибка ORA-01034
Плиз..плизз.. поможите люди добры... одна программа использует Oracle, я делаю копию всего с...

Ошибка после перезагрузки fail2ban в Ubuntu 14.04
Здравствуйте, У меня тут возникла небольшая проблемка, после того как я недавно установил...

Медленный интернет до перезагрузки ноутбука, а после перезагрузки быстрый
Здравствуйте! Есть ноутбук MSI Windows 10, подключен дома к домашнему запароленному wi-fi. Проблема...

После разгона процессора через биос ,после перезагрузки появляется черный экран
Процессор Xeon e 5440.Материнская плата asrock p5gtm vs3.Блок питания на 360в.При разгоне с 2.83 до...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru