OFNHookProc

OFNHookProc ÈÄÅ© ÇÁ·Î½ÃÀú´Â Ž»ö±â ½ºÅ¸ÀÏ ¿­±â ¹× ´Ù¸¥ À̸§À¸·Î ÀúÀå °ø¿ë ´ëÈ­ »óÀÚ¿Í ÇÔ²² »ç¿ë µÇ´Â ÀÀ¿ë ÇÁ·Î±×·¥ Á¤ÀÇ ¶Ç´Â ¶óÀ̺귯¸® Á¤ÀÇ Äݹé ÇÔ¼öÀÔ´Ï´Ù. ÇÔ¼ö´Â ÀÏ¹Ý ´ëÈ­ »óÀÚ¿¡¼­ º¸³½ ¾Ë¸² ¸Þ½ÃÁö¸¦ ¹Þ½À´Ï´Ù. ÇÔ¼ö´Â ¶ÇÇÑ ÀÚ½Ä ´ëÈ­ ¼­½Ä ÆÄÀÏÀ» ÁöÁ¤ ÇÏ ¿© Á¤ÀÇ ÇÏ´Â ¸ðµç Ãß°¡ ÄÁÆ®·Ñ¿¡ ´ë ÇÑ ¸Þ½ÃÁö¸¦ ¼ö½Å.

LPOFNHOOKPROC Çü½ÄÀºÀÌ Äݹé ÇÔ¼ö¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ Á¤ÀÇÇÕ´Ï´Ù. OFNHookProc Àº ÀÀ¿ë ÇÁ·Î±×·¥ Á¤ÀÇ ¶Ç´Â ¶óÀ̺귯¸® Á¤ÀÇ ÇÔ¼ö À̸§¿¡ ´ë ÇÑ ÀÚ¸® Ç¥½ÃÀÚ.

°æ¿ì¿¡ ¿­±â ¶Ç´Â ´Ù¸¥ À̸§À¸·Î ÀúÀå °ø¿ë ´ëÈ­ »óÀÚ¸¦ ¸¸µé ¶§ ¿øÇÏ´Â ÈÄÅ© ÇÁ·Î½ÃÀú OFN_EXPLORER Ç÷¡±×¸¦ ÁöÁ¤ ÇÏÁö ¾ÊÀ¸¸é ¿À·¡ µÈ-½ºÅ¸ÀÏ OFNHookProcOldStyle ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ »ç¿ë ÇØ¾ß ÇÕ´Ï´Ù. ÀÌ °æ¿ì ´ëÈ­ »óÀÚ°¡ ¿À·¡ µÈ-½ºÅ¸ÀÏ »ç¿ëÀÚ ÀÎÅÍÆäÀ̽º¸¦°¡Áö°í °ÍÀÔ´Ï´Ù.

UINT Äݹé OFNHookProc (  HWND  hdlg, / / ÀÚ½Ä ´ëÈ­ â ÇÚµéUINTuiMsg, / / ¸Þ½ÃÁö ½Äº°ÀÚWPARAMwParam, / / ¸Þ½ÃÁö ¸Å°³ º¯¼öLPARAMlParam / / ¸Þ½ÃÁö ¸Å°³ º¯¼ö);
 

¸Å°³ º¯¼ö

hdlg
¿­±â ¶Ç´Â ´Ù¸¥ À̸§À¸·Î ÀúÀå ´ëÈ­ »óÀÚÀÇ ÀÚ½Ä ´ëÈ­ »óÀÚ¸¦ ó¸® ÇÕ´Ï´Ù. GetParent ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© ¿­±â ¶Ç´Â ´Ù¸¥ À̸§À¸·Î ÀúÀå ´ëÈ­ »óÀÚ Ã¢¿¡ ´ë ÇÑ ÇÚµé ¾ò±â.
uiMsg
¼ö½Å µÇ´Â ¸Þ½ÃÁö¸¦ ½Äº°.
wParam
¸Þ½ÃÁö¿¡ ´ë ÇÑ Ãß°¡ Á¤º¸¸¦ ÁöÁ¤ÇÕ´Ï´Ù. Á¤È®ÇÑ Àǹ̴ uiMsg ¸Å°³ º¯¼öÀÇ °ª¿¡ µû¶ó ´Þ¶ó Áý´Ï´Ù.
lParam
¸Þ½ÃÁö¿¡ ´ë ÇÑ Ãß°¡ Á¤º¸¸¦ ÁöÁ¤ÇÕ´Ï´Ù. Á¤È®ÇÑ Àǹ̴ uiMsg ¸Å°³ º¯¼öÀÇ °ª¿¡ µû¶ó ´Þ¶ó Áý´Ï´Ù.

LParam °ª ÁöÁ¤ ´ëÈ­ »óÀÚ¸¦ ¸¸µé ¶§ Æ÷ÇÔ µÈ OPENFILENAME ±¸Á¶¿¡ ´ë ÇÑ Æ÷ÀÎÅÍ´Â uiMsg ¸Å°³ º¯¼ö WM_INITDIALOG ¸Þ½ÃÁö¸¦ ³ªÅ¸³»´Â °æ¿ì.

¹Ýȯ °ª

ÈÄÅ© ÇÁ·Î½ÃÀú 0À» ¹Ýȯ ÇÏ´Â °æ¿ì ±âº» ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú°¡ ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â.

ÈÄÅ© ÇÁ·Î½ÃÀú´Â 0ÀÌ ¾Æ´Ñ °ªÀ» ¹Ýȯ ÇÏ´Â °æ¿ì ±âº» ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú¿¡¼­ ¸Þ½ÃÁö¸¦ ¹«½Ã ÇÏ´Â.

CDN_SHAREVIOLATION ¹× CDN_FILEOK ¾Ë¸² ¸Þ½ÃÁö¿¡ ´ë ÇÑ ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ 0ÀÌ ¾Æ´Ñ DWL_MSGRESULT °ªÀ» ¼³Á¤ ÇÏ·Á¸é SetWindowLong ÇÔ¼ö¸¦ »ç¿ë ÇϰíÀÖ´Ù ±×°Í ³ªÅ¸³»´Â 0ÀÌ ¾Æ´Ñ °ªÀ» ¹Ýȯ ÇØ¾ß.

ÁÖÀÇ

GetOpenFileName ¶Ç´Â GetSaveFileName ÇÔ¼ö¸¦ »ç¿ë ÇÏ ¿© Ž»ö±â ½ºÅ¸ÀÏ ¿­±â ¶Ç´Â ´Ù¸¥ À̸§À¸·Î ÀúÀå °ø¿ë ´ëÈ­ »óÀÚ¸¦ ¸¸µé ¶§ OFNHookProc ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ Á¦°øÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ëÈ­ »óÀÚ »ý¼º ÇÔ¼ö¿¡ Àü´Þ µÈ OPENFILENAME ±¸Á¶¸¦ »ç¿ë ÇÏ ¿© ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ »ç¿ë ÇÕ´Ï´Ù. LpfnHook ¸â¹ö¿¡¼­ ÈÄÅ© ÇÁ·Î½ÃÀú¿¡ ´ë ÇÑ Æ÷ÀÎÅ͸¦ ÁöÁ¤ ÇÏ °í Ç÷¡±× ±¸¼º¿ø¿¡¼­ OFN_ENABLEHOOK Ç÷¡±×¸¦ ÁöÁ¤.

Ž»ö±â ½ºÅ¸ÀÏ ÀϹÝÀûÀÎ ´ëÈ­ »óÀÚ ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ Á¦°ø ÇÏ´Â °æ¿ì ½Ã½ºÅÛ ±âº» ´ëÈ­ »óÀÚÀÇ ÀÚ½ÄÀÎ ´ëÈ­ »óÀÚ¸¦ ¸¸µì´Ï´Ù. ÈÄÅ© ÇÁ·Î½ÃÀú ´ëÈ­ ÇÁ·Î½ÃÀú ÀÚ½Ä ´ëÈ­ »óÀÚ¿¡ ´ë ÇÑ ¿ªÇÒÀ» ÇÕ´Ï´Ù. ÀÌ ÀÚ½Ä ´ëÈ­ »óÀÚ OPENFILENAME ±¸Á¶¿¡ ÁöÁ¤ µÈ ¼­½Ä ÆÄÀÏ¿¡ ±âÃÊÇÑ ¶Ç´Â ±×°ÍÀº ±âº» ÀÚ½Ä ´ëÈ­ »óÀÚ ¼­½Ä ÆÄÀÏÀ» ÁöÁ¤ ÇÕ´Ï´Ù. ÀÚ½Ä ´ëÈ­ »óÀÚ´Â ±âº» ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú´Â WM_INITDIALOG ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â °æ¿ì »ý¼º µË´Ï´Ù. ÀÚ½Ä ´ëÈ­ ÀÚü WM_INITDIALOG ¸Þ½ÃÁö¸¦ ó¸® ÇÑ ÈÄ ±âº» ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú ÀÚ½Ä ´ëÈ­ »óÀÚÀÇ Ãß°¡ ÄÁÆ®·Ñ À§ÇÑ °ø°£À» ¸¸µé±â À§ÇØ ÇÊ¿äÇÑ °æ¿ì Ç¥ÁØ ÄÁÆ®·ÑÀ» À̵¿ ÇÕ´Ï´Ù. ½Ã½ºÅÛ ÈÄÅ© ÇÁ·Î½ÃÀú¸¦ ´ÙÀ½ CDN_INITDONE ¾Ë¸² ¸Þ½ÃÁö¸¦ º¸³À´Ï´Ù.

ÈÄÅ© ÇÁ·Î½ÃÀú´Â ±âº» ´ëÈ­ »óÀÚÀÇ Ç¥ÁØ ÄÁÆ®·Ñ À§ÇÑ ¸Þ½ÃÁö¸¦ ¼ö½Å ÇÏÁö ¾Ê½À´Ï´Ù. Ç¥ÁØ ÄÁÆ®·Ñ, ÇÏÁö¸¸ÀÌ ¶§¹®¿¡ ÀÌÈÄ ¹öÀüÀÇ ÀϹÝÀûÀÎ ´ëÈ­ »óÀÚ¿Í È£È¯ µÇÁö ¾Ê´Â ÀÀ¿ë ÇÁ·Î±×·¥ ¸¸µé ¼ö ÀÖ½À´Ï´Ù ³«Àº ÇÏÀ§¸¦ ¼ö ÀÖ½À´Ï´Ù. ±×·¯³ª, Ž»ö±â ½ºÅ¸ÀÏ °ø¿ë ´ëÈ­ »óÀÚ ÈÄÅ© ÇÁ·Î½ÃÀú¿¡¼­ ¸ð´ÏÅ͸µ ÇÏ °í ´ëÈ­ »óÀÚ¸¦ Á¦¾î ÇÏ´Â µ¥ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ½ÃÁö ÁýÇÕÀ» Á¦°ø ÇÕ´Ï´Ù. ÀÌ ´ëÈ­ »óÀÚ¿¡¼­ Á¤º¸¸¦ °Ë»öÀ» º¸³¾ ¼ö ÀÖ´Â ¸Þ½ÃÁö ´ëÈ­ »óÀÚ¿¡¼­ º¸³»´Â ¾Ë¸² ¸Þ½ÃÁöÀÇ ÁýÇÕÀ» Æ÷ÇÔ ÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ½ÃÁöÀÇ Àüü ¸ñ·ÏÀ» º¸·Á¸é Ž»ö±â ½ºÅ¸ÀÏ ÈÄÅ© ÇÁ·Î½ÃÀú.

ÈÄÅ© ÇÁ·Î½ÃÀú´Â WM_CTLCOLORDLG ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â °æ¿ì ´ëÈ­ »óÀÚÀÇ ¹è°æ ±×¸²¿¡ ´ë ÇÑ À¯È¿ÇÑ ºê·¯½Ã ÇÚµéÀ» ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î, ¾î¶² WM_CTLCOLOR * ¸Þ½ÃÁö¸¦ ó¸® ÇÏ´Â °æ¿ì ±×°ÍÀº ÁöÁ¤µÈ µÈ ÄÁÆ®·ÑÀÇ ¹è°æ ±×¸²¿¡ ´ë ÇÑ À¯È¿ÇÑ ºê·¯½Ã ÇÚµéÀ» ¹Ýȯ ÇØ¾ß ÇÕ´Ï´Ù.

ÈÄÅ© ÇÁ·Î½ÃÀú¿¡¼­ EndDialog ÇÔ¼ö¸¦ È£Ãâ ÇÏÁö ¸¶½Ê½Ã¿À. ´ë½Å, ÈÄÅ© ÇÁ·Î½ÃÀú ´ëÈ­ »óÀÚ ÇÁ·Î½ÃÀú¸¦ IDABORT °ª°ú ÇÔ²² WM_COMMAND ¸Þ½ÃÁö¸¦ °Ô½Ã ÇÏ·Á¸é postmessage ¸¦ ÇÔ¼ö¸¦ È£ÃâÇÒ ¼ö ÀÖ½À´Ï´Ù. IDABORT °Ô½Ã ´ëÈ­ »óÀÚ°¡ ´ÝÈ÷°í ´ëÈ­ »óÀÚ ÇÔ¼ö´Â FALSE¸¦ ¹Ýȯ Çϸé. ÈÄÅ© ÇÁ·Î½ÃÀú ¹× ÀÀ¿ë ÇÁ·Î±×·¥ °£ÀÇ Åë½Å ¸ÞÄ¿´ÏÁòÀ» Á¦°ø ÇØ¾ß ÇÕ´Ï´Ù ÈÄÅ© ÇÁ·Î½ÃÀú ´ëÈ­ »óÀÚ¸¦ Á¾·á ÇÏ´Â ÀÌÀ¯¸¦ ¾Ë°í ÇØ¾ß ÇÏ´Â °æ¿ì.

QuickInfo

nbsp;?Windows &NT: ¹öÀü 3.1 ÀÌ»óÀÌ ÇÊ¿ä ÇÕ´Ï´Ù.
Windows:Windows 95 ÀÌ»óÀÌ ÇÊ¿äÇÕ´Ï´Ù.
Windows CE:Áö¿ø µÇÁö ¾Ê½À´Ï´Ù.
Çì´õ:Commdlg.h¿¡ ¼±¾ð ÇÕ´Ï´Ù.
°¡Á®¿À±â ¶óÀ̺귯¸®:»ç¿ëÀÚ Á¤ÀÇ.

Âü°í Ç׸ñ

°ø¿ë ´ëÈ­ »óÀÚ ¶óÀ̺귯¸® °³¿ä, °øÅë ´ëÈ­ »óÀÚ ÇÔ¼ö GetOpenFileName, GetSaveFileName, OFNHookProcOldStyle, OPENFILENAME

 

Index