Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается, как определить, работает ли программа в интегрированной среде разработки Visual Basic или в виде скомпилированного исполняемого файла.
Исходная версия продукта: Visual Basic
Исходный номер базы знаний: 177636
Итоги
В этой статье показано, как определить, работает ли программа в интегрированной среде разработки Visual Basic или в виде скомпилированного исполняемого файла. Вам может потребоваться проверить, где работает ваша программа, если необходимо добавить сведения об отладке, которые не будут отображаться в скомпилированной версии программы.
Дополнительная информация
Существует два метода, которые можно использовать для определения того, работает ли программа из интегрированной среды разработки или EXE.
Метод 1. Имя файла EXE отличается от имени проекта
Объект App содержит общие сведения о программе, например имя исполняемого файла. Если имя проекта и скомпилированная версия проекта имеют разные имена файлов, можно использовать
App.EXENameсвойство, чтобы определить, выполняется ли EXE или работает ли проект в интегрированной среде разработки. Если программа выполняется из интегрированной среды разработки Visual Basic,EXENameсвойство возвращает имя проекта. При запуске программы из исполняемогоEXENameфайла свойство содержит имя EXE-файла.Метод 2. ИМЯ EXE-файла и имя проекта совпадают
Если имя проекта и скомпилированная версия используют то же имя, используйте
GetModuleFileNameфункцию API, чтобы определить, работает ли программа из интегрированной среды разработки или из скомпилированной версии.GetModuleFileNameполучает полный путь и имя файла для исполняемого файла, содержащего указанный модуль. Если функция возвращает путь к файлу Visual Basic, VB5.EXE, программа выполняется в интегрированной среде разработки. В противном случае программа выполняется из исполняемого файла.
GetModuleFileName требует следующих аргументов:
hModule: дескриптор модуля, имя файла которого требуется.hInstanceИспользуйте свойствоAPPобъекта для этого параметра.lpFilename: указатель на буфер для получения пути модуля. Создайте строковую переменную длиной 255 символов и передайте эту переменную для этого параметра.nSize: размер символов буферизации. Используйте 255 для этого параметра.
В следующем разделе показано, как создать пример проекта, реализующего оба этих метода.
Пример проекта
Запустите новый проект STANDARD EXE в Visual Basic. Форма1 создается по умолчанию.
Добавьте два commandButtons в Form1.
Скопируйте следующий код в окно "Код" формы 1:
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Сохраните проект с именем проекта IDEApp .
Скомпилируйте два разных исполняемых файла из этого проекта. Используйте имя файла по умолчанию IDEApp.exe для первого исполняемого файла. Для второго исполняемого файла используйте имя EXEApp. Чтобы скомпилировать проект, выполните следующие действия.
В меню "Файл" нажмите кнопку "Сделать IDEApp.exe". Откроется диалоговое окно "Создание проекта ".
Используйте имя файла по умолчанию или введите имя файла в текстовом поле "Имя файла".
Нажмите кнопку "ОК ", чтобы создать исполняемый файл и закрыть диалоговое окно "Создание проекта".
В меню "Запуск" нажмите кнопку "Пуск" или нажмите клавишу F5, чтобы запустить программу. Нажмите кнопку "Разные имена проектов и исполняемых файлов". Окно сообщения отображается с сообщением IDEApp, чтобы указать, что программа выполняется из интегрированной среды разработки. Нажмите кнопку "Похожие имена файлов". В окне сообщения отображается сообщение с версией интегрированной среды разработки, чтобы указать, что программа выполняется из интегрированной среды разработки. Закройте проект.
Запустите любой исполняемый файл и щелкните CommandButtons. Отображается окно сообщения, указывающее, что программа выполняется из исполняемого файла.