An Open or Save As dialog box sends the FILEOKSTRING registered message to your hook procedure when the user specifies a filename and clicks the OK button. The hook procedure can accept the filename and allow the dialog box to close, or reject the filename and force the dialog box to remain open.
For Explorer-style Open and Save As dialog boxes, this message has been superseded by the CDN_FILEOK notification message.
MessageID = RegisterWindowMessage(FILEOKSTRING);
wParam = 0;
lpofn = (LPOPENFILENAME) lParam;
If the hook procedure returns zero, the Open or Save As dialog box accepts the specified filename and closes.
If the hook procedure returns a nonzero value, the Open or Save As dialog box rejects the specified filename and remains open.
The hook procedure must specify the FILEOKSTRING constant in a call to the RegisterWindowMessage function to get the identifier for the message sent by the dialog box.