我要自定义打开文件的对话框,查了msdn,发现需要在OPENFILENAME中设置OFN_ENABLEHOOK属性,并添加相应的钩子:
// ...
OPENFILENAME ofn;
// ...
ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_ENABLETEMPLATE | OFN_EXPLORER | OFN_ENABLEHOOK;
ofn.lpfnHook = OFNHookProc;if (GetOpenFileName(&ofn)==TRUE)
// ...虽然我没有调用SetWindowsHookEx去安装钩子,但是这样就可以工作了,我的问题是,结束GetOpenFileName调用之后,我需要手动的unhook钩子吗?谢谢!