LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 156
Default API Call from VBA crashing Excel

Hi all,

I am trying to center a Windows Common Dialog using the API call. Trouble
is, when the code gets to 'SetWindowsHookEx' below it is crashing...

CODE

' Set up the CBT hook to center the dialog on the screen when Windows
' sends the message that is fully drawn...
Debug.Print "ThreadID:" & GetCurrentThreadId()
Debug.Print "hWnd:" & FindWindow("ThunderDFrame", Me.Caption)

hHook = SetWindowsHookEx(WH_CBT, _
AddressOf
modAPICommonDialogLib.WinProcCenterScreen, _
GetWindowLong(FindWindow("ThunderDFrame",
Me.Caption), GWL_HINSTANCE), _
GetCurrentThreadId())
<<< CODE <<<<
here is the procedure pointed at by the 'AddressOf' function call:

CODE

Public Function WinProcCenterScreen(ByVal lMsg As Long, ByVal wParam As
Long, ByVal lParam As Long, xForm As UserForm) As Long
'================================================= ===='
' Developer : Philip Livingstone
' Workstation :
'
' Purpose : Uses the API to centre a modal system dialog on the
screen...
' Parameters : lMsg, passed in using the AddressOf function, basically
we're
' subclassing the form...
' lParam, passed in using the AddressOf function...
' Returns : WinProcCenterForm - Long
'
'================================================= ====
Dim rectForm As RECT, rectMsg As RECT
Dim X As Long, Y As Long
If lMsg = HCBT_ACTIVATE Then
' Windows is about to activate the form that we're subclassing...and
we have
' applied a hook to it, to run this code when Windows sends the
message...
' Show the MsgBox at a fixed location (0,0)
GetWindowRect wParam, rectMsg
X = rectMsg.left
Y = rectMsg.top
SetWindowPos wParam, 0, X, Y, 0, 0, SWP_NOSIZE Or SWP_NOZORDER Or
SWP_NOACTIVATE
'Release the CBT hook
UnhookWindowsHookEx hHook
End If
WinProcCenterScreen = False
End Function
<<< END CODE<<<

Can anyone help me find out what I am doing wrong - for example, should I be
including parameters in the WinProcCenterScreen AddressOf call?

thanks

Philip

 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Excel Crashing [email protected] Excel Discussion (Misc queries) 1 December 10th 07 02:23 PM
Excel 2000 - Function call causes Locking up/Crashing Basharat A. Javaid Excel Programming 0 November 12th 04 06:57 PM
How to keep excel from crashing? Keith[_14_] Excel Programming 3 July 12th 04 04:05 PM
How can I call Range::Find from C++ without crashing Excel? Aaron Queenan Excel Programming 3 February 12th 04 08:12 PM
excel keeps crashing kickyr Excel Programming 4 December 4th 03 09:58 PM


All times are GMT +1. The time now is 06:14 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"