• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 396
  • Last Modified:

How do I process Windows events (WndProc) through a VB DLL?

I am writing a DLL that will make calls to an external device, and need to process Windows Messages to identify results.  I can do this in an exe by overridding WndProc, but with a DLL there is no Windows Handle (hWnd) available.
0
DerekOHara
Asked:
DerekOHara
  • 3
1 Solution
 
SStoryCommented:
I guess you'd need to create a window using
CreateWindowEx api call--the old way.
http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx

You could use this to make a hidden or taskbar window that could receive messages
0
 
SStoryCommented:
This may also be a good refresher...

http://www.toymaker.info/Games/html/winmain.html
0
 
SStoryCommented:
Here, this page actually talks about doing what I suggested.
http://msdn.microsoft.com/en-us/library/ms632599(VS.85).aspx#message_only
You specify HWND_MESSAGE as the constant.

If this if VB6 you will declare like this:
Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Long, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hWndParent As Long, ByVal hMenu As Long, ByVal hInstance As Long, lpParam As Any) As Long

If (vb.net)
Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" (ByVal dwExStyle As Integer, ByVal lpClassName As String, ByVal lpWindowName As String, ByVal dwStyle As Integer, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hwndParent As Integer, ByVal hMenu As Integer, ByVal hInstance As Integer, ByRef lpParam As Object) As Integer

(see http://www.webtropy.com/articles/art9-1.asp?f=CreateWindowEx)


0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now