在<<windows程序设计>>的第十二章的ClipText中
有     case WM_COMMAND:
          switch (LOWORD (wParam))
          {
          case IDM_EDIT_PASTE:
               OpenClipboard (hwnd) ;               if (hGlobal = GetClipboardData (CF_TCHAR))
               {
                    pGlobal = GlobalLock (hGlobal) ;
                    if (pText)
                    {
                         free (pText) ;
                         pText = NULL ;
                    }
                    pText = malloc (GlobalSize (hGlobal)) ;
                    lstrcpy (pText, pGlobal) ;
                    InvalidateRect (hwnd, NULL, TRUE) ;
               }
               CloseClipboard () ;
               return 0 ;
这里为什么在调用GlobalLock之后没调用GlobalUnlock来解锁,
望大牛们解答~~

解决方案 »

  1.   

    这只是个示例程序,估计是忘了写了。
    MSDN自己的示例中,同样的位置上有GlobalUnlock
      

  2.   

    我也这样想但不敢确认,谢谢chehw(chehw)~~我自己测试时加了个GlobalUnlock,但我看不出与不加仍什么区别,
    希望大牛告诉我如何做可以看到加了与不加的区别,谢谢~~
      

  3.   

    MSDN提示不能lock时间过长,有可能CloseClipboard中做了unlock,所以看不出明显区别。
    不过,按照调用规范,还是自己unlock比较好。