Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > shell


Автор: Baha_Ahmed 6.12.2008, 08:31
Просмотрев и документацию и примеры я не нашел на свою проблему решение.
Проблема в том, что ни просто Shell и не ниже указанная функция не загружает игрушки, что находятся на компе.
Код

       ShellExecute Me.hwnd, "open", v(Index), vbNullString, vbNullString, SW_MAXIMIZE
где v(Index) содержится строка - путь к загружаемой игрушке.

Пробывал и просто указать строку на .exe игрушки, нечего не получается!!! Нужна помощь!!! smile 

Автор: BorisVorontsov 6.12.2008, 10:52
Err.LastDllError?

Автор: Baha_Ahmed 6.12.2008, 21:19
Цитата(BorisVorontsov @ 6.12.2008,  10:52)
Err.LastDllError?

Не понял, к чему это? Какую ошибку выдает? Разные игрушки выдают разные ошибки.

Автор: BorisVorontsov 6.12.2008, 22:54
А, просто указывай директорию по умолчанию (lpDirectory). Это та папка, в которой находится exe-файл игры.

Автор: Akina 7.12.2008, 21:41
Цитата(Baha_Ahmed @  6.12.2008,  09:31 Найти цитируемый пост)
ни просто Shell и не ниже указанная функция не загружает игрушки, что находятся на компе.

Следует сначала сменить диск и каталог, а потом стартовать процесс. 
Можно (но ненадёжно) указать диск и путь непосредственно в строке запуска.

Автор: Baha_Ahmed 8.12.2008, 15:56
Цитата(Akina @ 7.12.2008,  21:41)
Следует сначала сменить диск и каталог, а потом стартовать процесс. 
Можно (но ненадёжно) указать диск и путь непосредственно в строке запуска.

Что значить сначала надо сменить диск или каталог? Я просто тупо указал строку на .exe игрушки не идет и все, но я заметил одно, что когда я только создаю эту строку в массиве она загружается....игрушка, а вот только я перейду к другой игрушке и та и эта перестают загружатся. Не пойму что за беда. 

Автор: BorisVorontsov 8.12.2008, 16:03
Baha_Ahmed, ты мой пост проигнорировал?

Автор: Baha_Ahmed 9.12.2008, 11:42
Цитата(BorisVorontsov @ 8.12.2008,  16:03)
Baha_Ahmed, ты мой пост проигнорировал?

Не понял в чем проигнорировал, нет конечно. Просто не много подробнее пишите я же на ас. Если что не обесудь!

Автор: BorisVorontsov 15.12.2008, 10:26
Не надо быть асом, что бы догадаться параметром lpDirectory передать папку, в которой расположен *.exe-файл игры

Автор: Baha_Ahmed 16.12.2008, 11:13
Цитата(BorisVorontsov @ 15.12.2008,  10:26)
Не надо быть асом, что бы догадаться параметром lpDirectory передать папку, в которой расположен *.exe-файл игры

Код

ShellExecute Me.hwnd, "open", v(Index), vbNullString, vbNullString, SW_MAXIMIZE
где v(Index) содержится строка - путь к загружаемой игрушке.

я прочитал документацию нет там такого параметра, просто приведи пример, не обесудь если что!!! Спасибо заочно!!!!

Автор: Akina 16.12.2008, 11:30
Цитата(Baha_Ahmed @  16.12.2008,  12:13 Найти цитируемый пост)
я прочитал документацию нет там такого параметра

Ничего ты не читал. 
Цитата

ShellExecute

Performs an operation on a specified file. 
Код

HINSTANCE ShellExecute(
    HWND hwnd, 
    LPCTSTR lpOperation,
    LPCTSTR lpFile, 
    LPCTSTR lpParameters, 
    LPCTSTR lpDirectory,
    INT nShowCmd
);


Автор: Baha_Ahmed 16.12.2008, 11:51
Цитата(Akina @ 16.12.2008,  11:30)
Цитата(Baha_Ahmed @  16.12.2008,  12:13 Найти цитируемый пост)
я прочитал документацию нет там такого параметра

Ничего ты не читал. 
Цитата

ShellExecute

Performs an operation on a specified file. 
Код

HINSTANCE ShellExecute(
    HWND hwnd, 
    LPCTSTR lpOperation,
    LPCTSTR lpFile, 
    LPCTSTR lpParameters, 
    LPCTSTR lpDirectory,
    INT nShowCmd
);


Код

ShellExecute Me.hwnd, "open",vbNullString , vbNullString, v(Index), SW_MAXIMIZE

где v(Index) путь к директории игрушки? Вот так что ли?

Автор: Akina 16.12.2008, 12:16
Цитата(Baha_Ahmed @  16.12.2008,  12:51 Найти цитируемый пост)
где v(Index) путь к директории игрушки? Вот так что ли?

И тот по счёту пятый, и другой... сам-то как думаешь?

Автор: Baha_Ahmed 16.12.2008, 12:34
Цитата(Akina @ 16.12.2008,  12:16)
И тот по счёту пятый, и другой... сам-то как думаешь?

Честно говоря я вопрос не понял!
А сделал так
Код

v(1) = "C:\Program Files\MyRealGames.com\Billiard Masters\"
V(2)="C:\Program Files\MyRealGames.com\Billiard Masters\ "Billiard.exe""
ShellExecute Me.hwnd, "open", v(2), vbNullString, v(1), SW_MAXIMIZE

вроде заработало, но еще проверю. В любом случае спасибо!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)