Как проверить, если при работе в Интегрированной среде разработки или EXE-файла

Аннотация

В этой статье показано, как определить, если при работе в среде разработки Visual Basic (IDE) или скомпилированный исполняемый файл. Может понадобиться проверить, где выполняется программа при необходимости добавить отладочную информацию, которая не будет виден в скомпилированную версию программы.

Дополнительная информация

Существует два способа, которые можно использовать для определения, если при работе в Интегрированной среде разработки или исполняемый ФАЙЛ.

Метод 1: Имя EXE-файла совпадает с именем проекта

Объект приложения содержит общие сведения о программе, например имя исполняемого файла. Если скомпилированную версию проекта и имя проекта имеют различные имена, можно использовать свойство App.EXEName для определения, если запущен исполняемый ФАЙЛ или при запуске проекта в Интегрированной среде разработки. Если программа выполняется в интегрированной среде разработки Visual Basic, свойство EXEName возвращает имя проекта. При запуске программы из исполняемого файла, свойство EXEName содержит имя файла EXE.

Метод 2: Имя проекта и имя файла EXE совпадают

Если имя проекта и скомпилированной версии имеют общее имя, затем используйте функцию интерфейса API GetModuleFileName для определения, если программа запущена из интегрированной среды разработки или скомпилированную версию. GetModuleFileName извлекает полный путь и имя исполняемого файла, содержащего указанный модуль. Если функция возвращает путь к файлу Visual Basic VB5. EXE, затем программа выполняется в Интегрированной среде разработки. В противном случае запуска программы из исполняемого файла. GetModuleFileName требуются следующие аргументы:

  • hModule: дескриптор, для которого требуется, чтобы имя файла модуля. Для этого параметра используется свойство hInstance объекта APP.

  • lpFilename: указатель на буфер для приема путь к модулю. Создайте строку переменной 255 символов и передайте эту переменную для данного параметра.

  • nSize: объем буферизации символов. Для этого параметра используется 255.

Следующий раздел показывает, как создать пример проекта, который реализует оба этих метода.

Пример проекта

  1. Начните новый проект стандартный exe-ФАЙЛ в Visual Basic. По умолчанию будет создана форма Form1.

  2. Добавьте в форму Form1 две командные.

  3. Скопируйте следующий код в окно кода Form1:

          Option Explicit      Private Declare Function GetModuleFileName Lib "kernel32" _         Alias "GetModuleFileNameA" _         (ByVal hModule As Long, _         ByVal lpFileName As String, _         ByVal nSize As Long) As Long      Private Sub Form_Load()         'Set the command button names         Command1.Caption = "Different Project and Executable Names"         Command2.Caption = "Similar File Names"      End Sub      Private Sub Command1_Click()          'Click this button if the project name and the compiled file          'name are different.          MsgBox VB.App.EXEName      End Sub      Private Sub Command2_Click()         'Click this button if the project name and the compiled file         'name are the same.         Dim strFileName As String         Dim lngCount As Long         strFileName = String(255, 0)         lngCount = GetModuleFileName(App.hInstance, strFileName, 255)         strFileName = Left(strFileName, lngCount)         If UCase(Right(strFileName, 7)) <> "VB5.EXE" Then             MsgBox "Compiled Version"         Else             MsgBox "IDE Version"         End If      End Sub
  4. Сохраните проект с именем IDEApp.

  5. Скомпилируйте два различных исполняемых файлов из этого проекта. Используйте имя файла по умолчанию, IDEApp.exe, для первого исполняемого файла. Для второго исполняемого файла используйте имя файла EXEApp. Чтобы скомпилировать проект, выполните следующие действия:

    • В меню файл нажмите кнопку сделать IDEApp.exe. Откроется диалоговое окно Создать проект.

    • Имя файла по умолчанию или введите имя файла в поле имя файла.

    • Нажмите кнопку ОК, чтобы создать исполняемый файл и закрыть диалоговое окно Создание проекта.

  6. В меню запуска нажмите кнопку Пуск или клавишу F5, чтобы запустить программу. Нажмите кнопку другой проект и имена исполняемый файл. Окно сообщения отображается с сообщением «IDEApp», для указания того, что программа выполняется в интегрированной среде разработки. Нажмите кнопку аналогичные имена файлов. Окно сообщения отображается с сообщением «Версия интегрированной среды разработки,» означает, что программа выполняется в интегрированной среде разработки. Закройте проект.

  7. Выполнение любого исполняемого файла и щелкните командные. Отображается окно сообщения, показывающее, что программа запущена из исполняемого файла.

Ссылки

Сведения об определении 16-разрядных приложений Visual Basic выполняется в среде разработки обратитесь к следующей статье Microsoft Knowledge Base:

: как определить, выполняется ли приложение в среде разработки VB

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×