첫번째 방법
debug 개체 사용
debug 개체는 다자인 타임에는 실행되지만
컴파일할때 이 이 제외된 상태에서 컴파일이 되기 때문에 이를 이용한다.
on error resume next
debug.print 1/0 ' 일부러 에러 발생시킨다
if err.number > 0 then msgbox "디자인 타임" else msgbox "런타임"on
on error goo 0
두번째 방법
API FindWindow를 사용
IDE 환경에서는 VB창이 떠있는것을 사용하여
If FindWindow("클래스명IDEOwner", vbNullString) > 0 Then msgbox "디자인타암" Else msgbox "런타임"
세번째 방법
API GetModuleHandle 사용
현재 프로세스에서 로드된 모듈을 확인한다.
Dim ModuleHandle As String Dim EnvFileName As String Dim EnvVal As Variant Dim ReturnVal As Long Dim i As Long EnvVal = _ Array("vb.exe", _ "vb32.exe", _ "vb5.exe", _ "vb6.exe") For i = LBound(EnvVal) To UBound(EnvVal) ModuleHandle = EnvVal(i) ReturnVal = GetModuleHandle(ModuleHandle) If ReturnVal <> 0 Then EnvFileName = ModuleHandle TestEnvironment = True Exit For End If Next if TestEnvironment then msgbox "디자인타임" else msgbox "런타임"
'VB6' 카테고리의 다른 글
윈7에 vb6 설치 (0) | 2018.02.08 |
---|---|
쿼리로 텍스트 파일을 레코드셋 처럼 사용하기 (0) | 2013.06.05 |
Windows 7에서 vb6의 dateadd 에러 (0) | 2012.06.27 |
비쥬얼베이직6에서 ieframe.dll\1 오류가 발생하는 경우 (0) | 2012.06.08 |
폼(Form)에서 사용자 Event 생성 (0) | 2011.10.23 |