안녕하세요.

윈도우 Handle 값 hWnd Value 값 때문에 비슷 비슷한 질문이 많이 올라 오는것
같네요.

그래서, 이와 관련 Q&A 게시판에 질문 하신분께 올려 드린 아래 내용을
여기 게시판에 올려 두오니, 윈도우 핸들... 자동차 핸들 아닐껄요 ???,,, 때문에
고민이신 분은 ..... 참조 해보세요

아래 예제는, 이와 같은 논리로, 예를 들어 c:\windows\계산기.exe 를 먼저 실행후
종료 시켜주는 예제 입니다.

'------------- 폼에 -------------
Option Explicit


Private Sub Command1_Click()

Dim winHwnd As Long
Dim RetVal As Long
winHwnd = FindWindow(vbNullString, "계산기")
Debug.Print winHwnd
If winHwnd <> 0 Then
    RetVal = PostMessage(winHwnd, WM_CLOSE, 0&, 0&)
    If RetVal = 0 Then
        MsgBox "Error posting message."
    End If
Else
    MsgBox "The Calculator is not open."
End If

End Sub

'------------- 모듈에 ----------------------

Option Explicit

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, _
ByVal wParam As Long, lParam As Any) As Long
Public Const WM_CLOSE = &H10

'-------- 그리구 hWnd Value 를 어떻게 Return 받을수 있는지 열심히 공부해 보시려면....
아래 Planet Source Code(PSC) 를 방문 하셔서, OS 별 예제 소스 [71 건] 을 열심히
독파 해보세요. 그러면... 아마 자신있게 말씀 드릴수 있는건.... 윈도우가 아마~~~
[항복] !!!! 할것 같은데요 ???

http://www.planet-source-code.com/vb/scripts/BrowseCategoryOrSearchResults.asp?lngWId=1&B1=Quick+Search&blnWorldDropDownUsed=TRUE&txtMaxNumberOfEntriesPerPage=10&blnResetAllVariables=TRUE&txtCriteria=hwnd&optSort=Alphabetical

'-------- 도움이 되셨기를 ------------ HAPPY CODING
Posted by housegod
l