::) HELP
Quote
******************
mov ofn.Flags, OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_LONGNAMES or OFN_EXPLORER or OFN_HIDEREADONLY or OFN_ENABLEHOOK
mov ofn.lpfnHook, OfnHookProc
******************
OfnHookProc proc hwnd:DWORD,uMsg:DWORD,wParam:WPARAM,lParam:LPARAM
.IF uMsg==WM_NOTIFY
ASSUME eax:PTR OFNOTIFY
mov eax,lParam
mov eax,dword ptr [eax].NMHDR.code
.IF eax==CDN_INITDONE
invoke SetWindowPos, hwnd, HWND_NOTOPMOST, 150, 150, 150, 200, NULL
; invoke MessageBox,0,0,0, MB_OK
.ENDIF
.ENDIF
ret
OfnHookProc endp
This works. But how is right?
Quote
mov ofn.Flags, OFN_FILEMUSTEXIST or OFN_PATHMUSTEXIST or OFN_LONGNAMES or OFN_EXPLORER or OFN_HIDEREADONLY or OFN_ENABLEHOOK
mov ofn.nFileOffset, NULL
mov ofn.nFileExtension, NULL
mov ofn.lpstrDefExt, NULL
mov ofn.lCustData, NULL
mov ofn.lpfnHook, OfnHookProc
mov ofn.lpTemplateName, NULL
OfnHookProc proc hwnd:DWORD,uMsg:DWORD,wParam:WPARAM,lParam:LPARAM
.IF uMsg==WM_NOTIFY
; ASSUME eax:PTR OFNOTIFY
; mov eax,lParam
; mov eax,dword ptr [eax].NMHDR.code
mov ecx,lParam
mov ecx,dword ptr [ecx].NMHDR.code
mov eax,CDN_FIRST
sub eax,ecx
.IF eax==CDN_INITDONE
invoke GetParent, hwnd
invoke SetWindowPos, eax, HWND_NOTOPMOST, 150, 150, 425, 300, NULL
;invoke MessageBox,0,0,0, MB_OK
.ENDIF
.ENDIF
xor eax,eax
ret
OfnHookProc endp
When I add OFN_ENABLEHOOK flag windows changes - why?
without
(http://s007.radikal.ru/i300/1104/a7/9f4de3459c01.png)
with
(http://s57.radikal.ru/i156/1104/b9/745cbfe76f3c.png)
Its just how Microsoft do it, as soon as you set a hook procedure for a file dialog you get the interface without the side band.
OK. Thanks. I trying all flags.
what about this? whats is right???
ASSUME eax:PTR OFNOTIFY
mov eax,lParam
mov eax,dword ptr [eax].NMHDR.code
.IF eax==CDN_INITDONE
mov ecx,lParam
mov ecx,dword ptr [ecx].NMHDR.code
mov eax,CDN_FIRST
sub eax,ecx