Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2014, 21:37   #1
Alex003
Пользователь
 
Регистрация: 24.02.2010
Сообщений: 13
По умолчанию Автозагрузка программы

Файл “finished.wav” находится в рабочей папке.

При автозагрузке программы из реестра, Path.GetFullPath(finished.wav) возвращает не расположение
Finished.wav в раб каталоге, там где установлена программа, а почему-то указывает на ..Windows\System32.finished.wav,
там где его естественно нет.

При компиляции или если запускать приложение непосредственно .exe, все нормально.
Код:
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            RegSave r = new RegSave();//автозагрузка, реестр
        }

        private void button1_Click( object sender, EventArgs e )
        {
            Myz( @"finished.wav" );
        }


        private void Myz( string sFile )
        {
            MessageBox.Show( Path.GetFullPath( sFile ) );

            if (File.Exists( Path.GetFullPath( sFile ) ))
            {
                SoundPlayer player = new SoundPlayer();
                player.SoundLocation = Path.GetFullPath( sFile );
                player.Play();
            }
        }
    }
}
Alex003 вне форума Ответить с цитированием
Старый 18.03.2014, 21:41   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

почитайте про рабочий каталог, и больше так не делайте
eval вне форума Ответить с цитированием
Старый 18.03.2014, 22:05   #3
Alex003
Пользователь
 
Регистрация: 24.02.2010
Сообщений: 13
По умолчанию

Будьте добры, так что не так?

Так тоже самое:
Код:
   private void button1_Click( object sender, EventArgs e )
        {
            Myz( @"finished.wav" );
        }


        private void Myz( string sFile )
        {
            
            if (sFile))
            {
                SoundPlayer player = new SoundPlayer();
                player.SoundLocation = Path.GetFullPath( sFile );
                player.Play();
            }
        }
Alex003 вне форума Ответить с цитированием
Старый 18.03.2014, 23:20   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

путь указать просят полный, а вы ему фикцию подсовываете, вот и получаете по рукам, что не понятно еще?
eval вне форума Ответить с цитированием
Старый 18.03.2014, 23:24   #5
Alex003
Пользователь
 
Регистрация: 24.02.2010
Сообщений: 13
По умолчанию

Цитата:
Сообщение от eval Посмотреть сообщение
путь указать просят полный, а вы ему фикцию подсовываете, вот и получаете по рукам, что не понятно еще?
Спасибо, буду думать как выйти из положения.
Alex003 вне форума Ответить с цитированием
Старый 19.03.2014, 00:03   #6
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

что тут думать..
берете путь к главной ассамблеи, цепляете к нему имя файла и имеете что хотите
eval вне форума Ответить с цитированием
Старый 19.03.2014, 14:28   #7
Alex003
Пользователь
 
Регистрация: 24.02.2010
Сообщений: 13
По умолчанию

Вот ещё вариант:

Код:
Application.StartupPath + @"\finished.wav"
Alex003 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автозагрузка apeorin Общие вопросы C/C++ 3 04.12.2012 00:16
Автозагрузка, каталог "Автозагрузка" создается повторно (Win7 x32) MyIE Общие вопросы Delphi 10 29.03.2012 07:49
автозагрузка программы Афанасий[vedma] Общие вопросы Delphi 1 01.12.2011 03:43
Автозагрузка программы в Мандриве на определенный рабочий стол. Simply-Art Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 4 13.04.2011 14:05
Автозагрузка _-Re@l-_ Общие вопросы Delphi 0 17.09.2010 14:26