由于需要,需要对选择的文件路径进行判断,如不能是C盘下的文件。可在CFileDialog的m_ofn.lpfnHook指定Hook函数。
下面是一个拒绝选择的文件是C:/下的。
UINT_PTR CALLBACK MyOFNHookProc( HWND hdlg, // handle to child dialog box
UINT uiMsg, // message identifier
WPARAM wParam, // message parameter
LPARAM lParam // message parameter
)
{
int nResult = FALSE;
switch(uiMsg)
{
case WM_NOTIFY:
{
LPOFNOTIFY pOfn = (LPOFNOTIFY)lParam;
switch(pOfn->hdr.code)
{
case CDN_FILEOK:
{//need to return nozero value //注意,CDN_FILEOK一定要返回非0值
char szFolder[MAX_PATH];
CommDlg_OpenSa