制作:KrK (Knuth for Kludge)
#include <windows.h>    // Win32API
//-------------------------------------------------
// スクロールバーを制限
// 作成 20140112 KrK
// 引数(I/O) pScroll:スクロールバー構造体
//-------------------------------------------------
VOID LimitScroll(SCROLLINFO* pScroll)
{
  // スクロールアップし過ぎは戻す
  if (pScroll->nPos < 0)
  {
    pScroll->nPos = 0;
  }
  // スクロールダウンし過ぎは戻す
  if (((unsigned int)pScroll->nMax - pScroll->nPage + 1)
      < (unsigned int)pScroll->nPos)
  {
    pScroll->nPos = pScroll->nMax - pScroll->nPage + 1;
  }
}
SCROLLINFO scrollV;     // 縦スクロールバー情報
SCROLLINFO scrollH;     // 横スクロールバー情報
// スクロールバー情報を取得
GetScrollInfo(hWnd, SB_VERT, &scrollV);
GetScrollInfo(hWnd, SB_HORZ, &scrollH);
// スクロールバーを移動
scrollV.nPos = ~;
scrollH.nPos = ~;
// 移動し過ぎは戻す
LimitScroll(&scrollV);
LimitScroll(&scrollH);
// 描写
SetScrollInfo(hWnd, SB_VERT, &scrollV, FALSE);
SetScrollInfo(hWnd, SB_HORZ, &scrollH, FALSE);
InvalidateRect(hWnd, NULL, FALSE);