powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно определить в каком режиме запускается программа
5 сообщений из 5, страница 1 из 1
Как программно определить в каком режиме запускается программа
    #34008771
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как программно определить в каком режиме запускается программа:
1. В режиме редактирования программы, в смысле в IDE
2. Или же в режиме exe
...
Рейтинг: 0 / 0
Как программно определить в каком режиме запускается программа
    #34008832
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
Public Function IsIDE() As Boolean
    On Error GoTo ERR_IDE
    Debug.Print ( 1  /  0 )
    Exit Function
ERR_IDE:
    IsIDE = True
End Function
...
Рейтинг: 0 / 0
Как программно определить в каком режиме запускается программа
    #34008857
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое
...
Рейтинг: 0 / 0
Как программно определить в каком режиме запускается программа
    #34010118
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотелось бы добавить несколько слов. Вышеуказанный способ с делением на ноль работает. Но не всегда. В режиме Tools/Options/General/Break on All Errors этот код в IDE не работает. Ниже я представляю три альтернативных варианта:

Private Declare Function GetModuleFileName Lib "kernel32" _
Alias "GetModuleFileNameA" (ByVal hModule As Long, ByVal lpFileName As String, ByVal nSize As Long) As Long

Private Sub Command1_Click()
MsgBox IsDebugMode
End Sub

Private Sub Command2_Click()
MsgBox RunningFromIDE
End Sub

Private Sub Command3_Click()
MsgBox IsRunningInIDE
End Sub

Public Function IsDebugMode(Optional pblnSetMode As Boolean = False) As Boolean

Static blnDebugMode As Boolean
blnDebugMode = pblnSetMode
If Not blnDebugMode Then Debug.Assert IsDebugMode(True)
IsDebugMode = blnDebugMode

End Function

Private Function RunningFromIDE() As Boolean
RunningFromIDE = False
If InStr(Command(), "RunningFromIDE") Then
RunningFromIDE = True
End If
End Function

Public Function IsRunningInIDE() As Boolean

Dim strFile As String
Dim lngCount As Long
Dim blnReturnValue As Boolean

strFile = String(255, 0)
lngCount = GetModuleFileName(App.hInstance, strFile, 255)
strFile = Left$(strFile, lngCount)
blnReturnValue = InStr(1, UCase$(strFile), "VB6.EXE") > 0

IsRunningInIDE = blnReturnValue

End Function

Способ с RunningFromIDE требует вписать строку "RunningFromIDE" в окно Project/Properties/Make/Command Line Arguments.

Способ с IsRunningInIDE подразумевает VB6.

VladConn
...
Рейтинг: 0 / 0
Как программно определить в каком режиме запускается программа
    #34011470
Фотография orunbek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А по какому принципу работает эта функция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Public Function IsDebugMode(Optional pblnSetMode As Boolean = False) As Boolean

Static blnDebugMode As Boolean
blnDebugMode = pblnSetMode
If Not blnDebugMode Then Debug.Assert IsDebugMode(True)
IsDebugMode = blnDebugMode

End Function
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Как программно определить в каком режиме запускается программа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]