Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как указать путь к исполняему файлу и запустить его (Visual Studio 2010)

Ответить
Настройки темы
C/C++ - Как указать путь к исполняему файлу и запустить его (Visual Studio 2010)

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Доброго всем времени суток! Пишу лаунчер для одной игрушки, в ходе написания столкнулся с проблемкой. Суть проблемы в том, что лаунчеру нужно указать исполняемый (пусковой .exe) файл игры, а затем запомнить путь к нему и запустить. Реализовать решил просто указав путь к папке в котором находится файл и все, но не получается. Помогите советом.

Код: Выделить весь код
 

 Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.Hide()
        Dim procID As Integer
        Dim procIS  As String
        If My.Computer.FileSystem.FileExists("RUN_GAME.exe") Then
            procID = Shell("RUN_GAME.exe", AppWinStyle.NormalFocus)
        Else
            'MsgBox("File RUN_GAME.exe not found.")
            'Me.Show()
            Try
                With fldlgList
                    .RootFolder = Environment.SpecialFolder.MyComputer
                    .Description = "Выберите дирректорию в которую установлена игра"
                    .ShowNewFolderButton = False
                    If .ShowDialog = Windows.Forms.DialogResult.OK Then
                        procIS = Windows.Forms.Application.StartupPath("RUN_KF.exe")
                        procID = procIS & Shell("RUN_GAME.exe", AppWinStyle.NormalFocus)
                    End If
                End With
            Catch ex As Exception
                MsgBox(ex.Message, MsgBoxStyle.Exclamation, Me.Text)
            End Try
        End If
    End Sub
P.S. код какбэ рабочий, но после указания папки с файлом пишит, и нажатия "ОК", пишит что "файл не найден" (естветсвенно в папке он присутствует)

Отправлено: 16:50, 21-03-2011

 

Старожил


Сообщения: 154
Благодарности: 39

Профиль | Отправить PM | Цитировать


а ты не пробовал указывать не просто имена, а еще и полный путь к файлу. И ты точно уверен что в папке debug или куда там компилируется есть этот файл.

Отправлено: 18:06, 21-03-2011 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Конечно пробовал, и указывал полный путь к файлу, и закидывал "лаунчер" в папку с "RUN_GAME.exe" оба варинта отлично работают, но представь ситуацию когда пользователь при установке "лаунчера" проигнорит сообщение о том, что его нужно ставить в папку с установленой игрой, и при запуске лаунчера получит ошибку связанную с невозможностью найти пусковой файл игры (я уже не говорю про, то чтобы указывать полный путь к файлу, ведь он у всех отличается у всех). Для этого я и хочу сделать так чтобы, в случае когда когда "лаунчер" неможет найти исполняемый файл "RUN_GAME.exe" в своей корневой папке, запускалось диалоговое окно в котором пользователю необходимо указать путь к папке в которой находится "RUN_GAME.exe".
Представленый выше код кокраз этим и занимается, есдинственное в чем проблема, он почемуто не может запустить "RUN_GAME.exe" хотя путь указан через диалоговое окно

Ответ на свой основной вопрос нашел, "лаунчер" теперь находит в указаном пути необходимый исполняемый файл

Код: Выделить весь код
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
         Me.Hide()
       Dim procID As Integer
        Dim FolderBrowserDialog1 As New FolderBrowserDialog()
        FolderBrowserDialog1.Description = "Укажите путь к папке с установленной игрой"
        If My.Computer.FileSystem.FileExists("RUN.exe") Then
            Me.Hide()
            procID = Shell("RUN.exe", AppWinStyle.NormalFocus)
            Me.Close()
        Else
            If FolderBrowserDialog1.ShowDialog = System.Windows.Forms.DialogResult.OK Then
                My.Computer.FileSystem.CurrentDirectory = FolderBrowserDialog1.SelectedPath
                If My.Computer.FileSystem.FileExists("RUN.exe") Then
                    Me.Hide()
                    procID = Shell("RUN.exe", AppWinStyle.NormalFocus)
                    Me.Close()
                Else
                    MsgBox("Файл не найден")
                    Me.Show()
                End If
            End If
            FolderBrowserDialog1.Dispose()
        End If
    End Sub
теперь необходимо осуществить сохранение пути к исполняемому файлу указанное пользователем в диалоге (FolderBrowserDialog1.SelectedPath) во внешний файл .ini или .conf, а затем применять сохраненый путь при следующих запусках "лаунчера" (чтобы пользователь не указывал путь к папке с иполняемым файлом при каждом запуске "лаунчера"), как осуществить сохранение результатов в файл мне известно, но как перехватить результат выбора пользователя и потом обращатся к файлу для считываний из него пути?

Последний раз редактировалось steff, 22-03-2011 в 03:49.


Отправлено: 00:33, 22-03-2011 | #3


В Поисках Истины


Сообщения: 802
Благодарности: 135

Профиль | Отправить PM | Цитировать


Цитата steff:
как перехватить результат выбора пользователя »
Если я правильно понял что требуется, то просто сохраните значение
Код: Выделить весь код
FolderBrowserDialog1.SelectedPath + "RUN.exe"
ну или без имени файла, в место где хотите хранить(например, app.config). Запись производить во время выбора пути в диалоге!
Цитата steff:
потом обращатся к файлу для считываний из него пути? »
Допустим в таком порядке :
  • Проверка существования RUN.exe в корне
  • Если в корне нету, проверка ключа в app.config
  • Если ключ имеется, запуск из значения в том ключе
  • Если ключа нет, опять же Диалог выбора, с последующей записью ключа

-------
foreach(short w in new short[] {73,3,79,83,90,79,78,69}){
Console.Write((char)w);
}

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:46, 22-03-2011 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - Как указать путь к исполняему файлу и запустить его (Visual Studio 2010)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Прочие - Microsoft Visual Studio 2010 Crisp Программное обеспечение Windows 27 05-02-2013 22:26
Visual studio express 2010 C++ и C# tigron2009 Автоматическая установка приложений 5 02-11-2010 15:23
как грамотно указать путь в ссылке Vi-P Вебмастеру 8 15-12-2006 18:59
nlite - как указать путь к файлу ответов при установке с HDD? netphil Автоматическая установка Windows 2000/XP/2003 5 26-09-2005 23:03
Как получить путь к файлу в виде строки на Visual Basic .NET Igor Laptev Программирование и базы данных 1 14-10-2003 00:50




 
Переход