이 문서에서는 프로그램이 Visual Basic IDE(통합 개발 환경) 또는 컴파일된 실행 파일로 실행되고 있는지 확인하는 방법을 설명합니다.
원래 제품 버전: Visual Basic
원래 KB 번호: 177636
요약
이 문서에서는 프로그램이 Visual Basic IDE 또는 컴파일된 실행 파일로 실행 중인지 확인하는 방법을 보여 줍니다. 컴파일된 버전의 프로그램에 표시되지 않는 디버깅 정보를 추가해야 하는 경우 프로그램이 실행되는 위치를 확인할 수 있습니다.
자세한 정보
프로그램이 IDE 또는 EXE에서 실행 중인지 확인하는 데 사용할 수 있는 두 가지 방법이 있습니다.
방법 1: EXE 파일 이름이 프로젝트 이름과 다릅니다.
App 개체에는 실행 파일 이름과 같은 프로그램에 대한 일반 정보가 포함됩니다. 프로젝트 이름과 컴파일된 프로젝트 버전에 파일 이름이 다른 경우 이 속성을 사용하여
App.EXENameEXE가 실행 중인지 아니면 프로젝트가 IDE에서 실행 중인지 확인할 수 있습니다. Visual Basic IDE에서 프로그램을 실행하는 경우 속성은EXEName프로젝트 이름을 반환합니다. 실행 파일에서 프로그램을 실행하는 경우 속성에는EXENameEXE 파일 이름이 포함됩니다.메서드 2: EXE 파일 이름과 프로젝트 이름이 동일합니다.
프로젝트 이름과 컴파일된 버전이 동일한 이름을 공유하는 경우 API 함수를 사용하여
GetModuleFileName프로그램이 IDE 또는 컴파일된 버전에서 실행 중인지 확인합니다.GetModuleFileName는 지정된 모듈을 포함하는 실행 파일의 전체 경로 및 파일 이름을 검색합니다. 함수가 VB5.EXE Visual Basic 파일의 경로를 반환하면 프로그램이 IDE에서 실행되고 있습니다. 그렇지 않으면 프로그램이 실행 파일에서 실행됩니다.
GetModuleFileName 에는 다음 인수가 필요합니다.
hModule: 파일 이름을 원하는 모듈에 대한 핸들입니다. 이 매개 변수에hInstance대한 개체의APP속성을 사용합니다.lpFilename: 모듈 경로를 수신하는 버퍼에 대한 포인터입니다. 255자 길이의 문자열 변수를 만들고 이 매개 변수에 해당 변수를 전달합니다.nSize: 버퍼링 문자의 크기입니다. 이 매개 변수에 255를 사용합니다.
다음 섹션에서는 이러한 두 메서드를 모두 구현하는 샘플 프로젝트를 만드는 방법을 보여 줍니다.
샘플 프로젝트
Visual Basic에서 새 표준 EXE 프로젝트를 시작합니다. Form1은 기본적으로 만들어집니다.
Form1에 두 개의 CommandButton을 추가합니다 .
다음 코드를 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프로젝트를 IDEApp 프로젝트 이름으로 저장합니다.
이 프로젝트에서 두 개의 서로 다른 실행 파일을 컴파일합니다. 첫 번째 실행 파일의 기본 파일 이름(IDEApp.exe)을 사용합니다. 두 번째 실행 파일의 경우 파일 이름 EXEApp을 사용합니다. 프로젝트를 컴파일하려면 다음 단계를 완료합니다.
파일 메뉴에서 IDEApp.exe 만들기를 클릭합니다. 프로젝트 만들기 대화 상자가 나타납니다.
기본 파일 이름을 사용하거나 파일 이름 텍스트 상자에 파일 이름을 입력합니다.
[확인]을 클릭하여 실행 파일을 만들고 프로젝트 만들기 대화 상자를 닫습니다.
실행 메뉴에서 시작을 클릭하거나 F5 키를 눌러 프로그램을 시작합니다. 다른 프로젝트 및 실행 파일 이름 단추를 클릭합니다. IDEApp 메시지와 함께 메시지 상자가 표시되어 프로그램이 IDE에서 실행 중임을 나타냅니다. 유사한 파일 이름 단추를 클릭합니다. IDE 버전 메시지와 함께 메시지 상자가 표시되어 프로그램이 IDE에서 실행 중임을 나타냅니다. 프로젝트를 닫습니다.
실행 파일 중 하나를 실행하고 CommandButtons를 클릭합니다. 프로그램이 실행 파일에서 실행 중임을 나타내는 메시지 상자가 표시됩니다.