Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.93/14: Рейтинг темы: голосов - 14, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 12
1

Открыть кнопкой другое приложение

23.01.2011, 02:42. Показов 2570. Ответов 13
Метки нет (Все метки)

Как можно открыть нажатием кнопки другое VB приложение из первого. Есть кнопки ,, МАГАЗИН,, ,, СКЛАД,, ,, ПОСТАВЩИКИ,, . Нажимая на эти кнопки нужно чтобы открывались эти приложения. Я не имею в виду MDI интерфейс. Если можно подробней. Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2011, 02:42
Ответы с готовыми решениями:

Запущено ли другое приложение ?
Как программно узнать запущено ли приложение tratata.exe ? Может ссылочку кинете какю-нибудь.

Не могу запустить из VB другое приложение
Например, хочу сделать Autorun немогу сделать так чтобы открылось другое приложение. B Basic было...

как контролировать другое приложение
у меня такой вопрос: как можно следить за открытием\закрытием другой программы, не относящейся к...

Как можно заблокировать переключение на другое приложение
Как можно заблокировать переключение на другое приложение с помощью alt-tab, alt-esc и т.д.?

__________________
13
исследователь
324 / 102 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
23.01.2011, 09:54 2
Вот так
Visual Basic
1
2
3
Dim ProcID As Integer
ProcID = Shell("С:\Windows\Notepad.exe")                'здесь путь к приложению
AppActivate ProcID, 0
2
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
23.01.2011, 13:36 3
если понял правильно

1 добавляешь MDI форму
2 на формах форм1, 2, ... установить MDIChild = True
3 Private Sub Command1_Click()
Form1.Show
End Sub[/VB]
0
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 12
23.01.2011, 15:13  [ТС] 4
XoFfiCEr спасибо! Сработало! Но открывающееся приложение появляется только на панели задач. Нужно кликать на панели задач чтобы приложение появилось на рабочем столе. Можно ли сразу открывать на рабочий стол?
0
исследователь
324 / 102 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
23.01.2011, 15:52 5
Цитата Сообщение от OLEG111 Посмотреть сообщение
XoFfiCEr спасибо! Сработало! Но открывающееся приложение появляется только на панели задач. Нужно кликать на панели задач чтобы приложение появилось на рабочем столе. Можно ли сразу открывать на рабочий стол?
В VB6 так сделать нельзя.
А в VB2005 можно
0
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 12
23.01.2011, 18:48  [ТС] 6
XoFfiCEr, еще раз спасибо. Последний вопрос-я только начинаю в VB 6.0 Советуете ли переходить на 2005 или 2010 и не трудно ли переключаться с одной версии на другую?
0
исследователь
324 / 102 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
23.01.2011, 19:09 7
Цитата Сообщение от OLEG111 Посмотреть сообщение
XoFfiCEr, еще раз спасибо. Последний вопрос-я только начинаю в VB 6.0 Советуете ли переходить на 2005 или 2010 и не трудно ли переключаться с одной версии на другую?
Да советую, но там программирование сложнее но и возможностей больше.
А VB6 уже очень устарел ему 13 лет уже.
0
1170 / 476 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
24.01.2011, 09:20 8
XoFfiCEr спасибо! Сработало! Но открывающееся приложение появляется только на панели задач. Нужно кликать на панели задач чтобы приложение появилось на рабочем столе. Можно ли сразу открывать на рабочий стол?
В VB6 так сделать нельзя.
А в VB2005 можно
XoFfiCEr и в чём же выражается этот запрет в VB6?

Всё там можно. У функции Shell есть второй необязательный параметр, который отвечает за то, как будет запускаться приложение. Флаг vbNormalFocus запускает его как обычно и передаёт фокус.
0
исследователь
324 / 102 / 3
Регистрация: 18.03.2010
Сообщений: 1,079
Записей в блоге: 2
24.01.2011, 15:02 9
Цитата Сообщение от STRATEG Посмотреть сообщение
XoFfiCEr и в чём же выражается этот запрет в VB6?

Всё там можно. У функции Shell есть второй необязательный параметр, который отвечает за то, как будет запускаться приложение. Флаг vbNormalFocus запускает его как обычно и передаёт фокус.
Второй параметр совсем другой, он обозначает время задержки перед запуском другого приложения.
1
1170 / 476 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
24.01.2011, 17:53 10
Код
Shell(pathname[,windowstyle]) - Запускает программу и возвращает ID программной задачи
 (program task ID). Если была ошибка, возвратит 0.
 Параметр windowstyle определяет стиль открытия программы. 
Может принимать следующие значения:

vbHide Окно будет скрыто
vbNormalFocus Окно получает фокус и отображается без искажений размера
vbMinimizedFocus Окно, после запуска автоматически минимизируется и получает фокус 
vbMaximizedFocus Окно разворачивается на весь экран и получает фокус
vbNormalNoFocus Тоже, что и vbNormalFocus, но окно не получает фокуса.
vbMinimizedNoFocus Тоже, что и vbMinimizedFocus, но окно не получает фокуса.

Второй параметр совсем другой, он обозначает время задержки перед запуском другого приложения.
Прежде чем что-то говорить, нужно сначало разобраться с функцией. Поставь запятую после первого параметра и получишь возможные варианты второго. Мы говорим о Shell в VB6 если что.
0
0 / 0 / 0
Регистрация: 03.01.2011
Сообщений: 12
24.01.2011, 19:15  [ТС] 11
STRATEG,не могли бы конкретней написать код -как открыть второе приложение и сразу на рабочем столе. А то не могу разобраться. Спасибо!
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
24.01.2011, 19:38 12
Цитата Сообщение от OLEG111 Посмотреть сообщение
MDI интерфейс
блин, уже который раз читаю , и только сегодня узрел

Цитата Сообщение от OLEG111 Посмотреть сообщение
не имею в виду MDI интерфейс


Shell ("C:\WINDOWS\Notepad"), vbMaximizedFocus
или
Shell ("C:\WINDOWS\Notepad"),3 (кажется)
0
1170 / 476 / 83
Регистрация: 04.03.2010
Сообщений: 1,019
24.01.2011, 21:43 13
Ну читай описание функции. Для твоей задачи флаг vbNormalFocus. Shell("Notepad.exe",vbNormalFocus)
0
1900 / 777 / 31
Регистрация: 11.02.2010
Сообщений: 1,567
26.01.2011, 04:30 14
функция Shell работает исправно, но вот вариант позапористей
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _
  (ByVal hwnd As Long, _
   ByVal lpOperation As String, _
   ByVal lpFile As String, _
   ByVal lpParameters As String, _
   ByVal lpDirectory As String, _
   ByVal nShowCmd As Long) As Long
 
Sub RunNotepad()
  Dim RetVal As Long
  On Error Resume Next
  RetVal = ShellExecute(0, "open", "notepad", "", "", 1)
End Sub
(пример работает в VBA. для VB может чуток переделать нужно будет)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2011, 04:30

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Передача нажатий клавиш из Excel в другое приложение.
Попрошу не пинать сразу ногами, если не в тот раздел запостил. И так имеется следующая задача: из...

Открывать другое приложение и по telnet'у отсылать ему некоторые команды
Добрый день!!! У меня проблема связанная с winsock.... Скажу сразу с VB знаком буквально пару...

Как открыть приложение Corel Draw из Vb?
Какой код вставить вместо '...', чтобы открылся Corel Draw (Например для MS Word Set objWord = New...

Как открыть консольное приложение в .NET через другое консольное приложение .NET
Есть один вопрос. Как открыть консольное приложение .NET через другое консольное приложение .NET,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.