亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fm.cpp

?? 7z一個高壓縮比的壓縮程序源代碼,重要的是里面的算法值得學習
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
  UString programString, commandsString;
  // MessageBoxW(0, GetCommandLineW(), L"", 0);
  SplitStringToTwoStrings(GetCommandLineW(), programString, commandsString);

  commandsString.Trim();
  UString paramString, tailString;
  SplitStringToTwoStrings(commandsString, paramString, tailString);
  paramString.Trim();
 
  if (!paramString.IsEmpty())
  {
    g_MainPath = paramString;
    // return WinMain2(hInstance, hPrevInstance, lpCmdLine, nCmdShow);

    // MessageBoxW(0, paramString, L"", 0);
  }
  /*
  UStringVector commandStrings;
  NCommandLineParser::SplitCommandLine(GetCommandLineW(), commandStrings);
  NCommandLineParser::CParser parser(kNumSwitches);
  try
  {
    parser.ParseStrings(kSwitchForms, commandStrings);
    const UStringVector &nonSwitchStrings = parser.NonSwitchStrings;
    if(nonSwitchStrings.Size() > 1)
    {
      g_MainPath = nonSwitchStrings[1];
      // g_OpenArchive = parser[NKey::kOpenArachive].ThereIs;
      CFileInfoW fileInfo;
      if (FindFile(g_MainPath, fileInfo))
      {
        if (!fileInfo.IsDir())
          g_OpenArchive = true;
      }
    }
  }
  catch(...) { }
  */


  SetMemoryLock();

  MSG msg;
  if (!InitInstance (hInstance, nCmdShow))
    return FALSE;

  MyLoadMenu(g_HWND);

  #ifndef _UNICODE
  if (g_IsNT)
  {
    HACCEL hAccels = LoadAcceleratorsW(hInstance, MAKEINTRESOURCEW(IDR_ACCELERATOR1));
    while (GetMessageW(&msg, NULL, 0, 0))
    {
      if (TranslateAcceleratorW(g_HWND, hAccels, &msg) == 0)
      {
        TranslateMessage(&msg);
        DispatchMessageW(&msg);
      }
    }
  }
  else
  #endif
  {
    HACCEL hAccels = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDR_ACCELERATOR1));
    while (GetMessage(&msg, NULL, 0, 0))
    {
      if (TranslateAccelerator(g_HWND, hAccels, &msg) == 0)
      {
        // if (g_Hwnd != NULL || !IsDialogMessage(g_Hwnd, &msg))
        // if (!IsDialogMessage(g_Hwnd, &msg))
        TranslateMessage(&msg);
        DispatchMessage(&msg);
      }
    }
  }

  g_HWND = 0;
  OleUninitialize();
  return (int)msg.wParam;
}

static void SaveWindowInfo(HWND aWnd)
{
  /*
  RECT rect;
  if (!::GetWindowRect(aWnd, &rect))
    return;
  */
  WINDOWPLACEMENT placement;
  placement.length = sizeof(placement);
  if (!::GetWindowPlacement(aWnd, &placement))
    return;
  SaveWindowSize(placement.rcNormalPosition,
      BOOLToBool(::IsZoomed(aWnd)));
  SavePanelsInfo(g_App.NumPanels, g_App.LastFocusedPanel,
      g_Splitter.GetPos());
}

void ExecuteCommand(UINT commandID)
{
  switch (commandID)
  {
    case kAddCommand:
      g_App.AddToArchive();
      break;
    case kExtractCommand:
      g_App.ExtractArchives();
      break;
    case kTestCommand:
      g_App.TestArchives();
      break;
  }
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  int wmId, wmEvent;
  switch (message)
  {
    case WM_COMMAND:
      wmId    = LOWORD(wParam);
      wmEvent = HIWORD(wParam);
      if ((HWND) lParam != NULL && wmEvent != 0)
        break;
      if (wmId >= kToolbarStartID)
      {
        ExecuteCommand(wmId);
        return 0;
      }
      if (OnMenuCommand(hWnd, wmId))
        return 0;
      break;
    case WM_INITMENUPOPUP:
      OnMenuActivating(hWnd, HMENU(wParam), LOWORD(lParam));
      break;

    /*
    It doesn't help
    case WM_EXITMENULOOP:
      {
        OnMenuUnActivating(hWnd);
        break;
      }
    case WM_UNINITMENUPOPUP:
      OnMenuUnActivating(hWnd, HMENU(wParam), lParam);
      break;
    */

    case WM_CREATE:
    {

      /*
      INITCOMMONCONTROLSEX icex;
      icex.dwSize = sizeof(INITCOMMONCONTROLSEX);
      icex.dwICC  = ICC_BAR_CLASSES;
      InitCommonControlsEx(&icex);
      
      // Toolbar buttons used to create the first 4 buttons.
      TBBUTTON tbb [ ] =
      {
        // {0, 0, TBSTATE_ENABLED, BTNS_SEP, 0L, 0},
        // {VIEW_PARENTFOLDER, kParentFolderID, TBSTATE_ENABLED, BTNS_BUTTON, 0L, 0},
          // {0, 0, TBSTATE_ENABLED, BTNS_SEP, 0L, 0},
        {VIEW_NEWFOLDER, ID_FILE_CREATEFOLDER, TBSTATE_ENABLED, BTNS_BUTTON, 0L, 0},
      };
      
      int baseID = 100;
      NWindows::NControl::CToolBar aToolBar;
      aToolBar.Attach(::CreateToolbarEx (hWnd,
        WS_CHILD | WS_BORDER | WS_VISIBLE | TBSTYLE_TOOLTIPS, //  | TBSTYLE_FLAT
        baseID + 2, 11,
        (HINSTANCE)HINST_COMMCTRL, IDB_VIEW_SMALL_COLOR,
        (LPCTBBUTTON)&tbb, sizeof(tbb) / sizeof(tbb[0]),
        0, 0, 100, 30, sizeof (TBBUTTON)));
      */
      // HCURSOR cursor = ::LoadCursor(0, IDC_SIZEWE);
      // ::SetCursor(cursor);

      if (g_PanelsInfoDefined)
        g_Splitter.SetPos(hWnd, g_SplitterPos);
      else
      {
        g_Splitter.SetRatio(hWnd, kSplitterRateMax / 2);
        g_SplitterPos = g_Splitter.GetPos();
      }

      RECT rect;
      ::GetClientRect(hWnd, &rect);
      int xSize = rect.right;
      int xSizes[2];
      xSizes[0] = g_Splitter.GetPos();
      xSizes[1] = xSize - kSplitterWidth - xSizes[0];
      if (xSizes[1] < 0)
        xSizes[1] = 0;

      g_App.CreateDragTarget();
      bool archiveIsOpened;
      bool encrypted;
      bool needOpenFile = false;
      if (!g_MainPath.IsEmpty() /* && g_OpenArchive */)
      {
        NFile::NFind::CFileInfoW fileInfo;
        if (NFile::NFind::FindFile(g_MainPath, fileInfo))
          if (!fileInfo.IsDir())
            needOpenFile = true;
      }
      HRESULT res = g_App.Create(hWnd, g_MainPath, xSizes, archiveIsOpened, encrypted);

      if (res == E_ABORT)
      {
        return -1;
      }
      if (needOpenFile && !archiveIsOpened || res != S_OK)
      {
        UString message = L"Error";
        if (res == S_FALSE || res == S_OK)
        {
          if (encrypted)
            message = MyFormatNew(IDS_CANT_OPEN_ENCRYPTED_ARCHIVE, 0x0200060A, g_MainPath);
          else
            message = MyFormatNew(IDS_CANT_OPEN_ARCHIVE, 0x02000609, g_MainPath);
        }
        else
        {
          if (res != S_OK)
          {
            if (res == E_OUTOFMEMORY)
              message = LangString(IDS_MEM_ERROR, 0x0200060B);
            else
              if (!NError::MyFormatMessage(res, message))
                message = L"Error";
          }
        }
        MessageBoxW(0, message, L"7-zip", MB_ICONERROR);
        return -1;
      }
      // g_SplitterPos = 0;

      // ::DragAcceptFiles(hWnd, TRUE);
      RegisterDragDrop(hWnd, g_App._dropTarget);

      break;
    }
    case WM_DESTROY:
    {
      // ::DragAcceptFiles(hWnd, FALSE);
      RevokeDragDrop(hWnd);
      g_App._dropTarget.Release();

      g_App.Save();
      g_App.Release();
      SaveWindowInfo(hWnd);
      PostQuitMessage(0);
      break;
    }
    /*
    case WM_MOVE:
    {
      break;
    }
    */
    case WM_LBUTTONDOWN:
      g_StartCaptureMousePos = LOWORD(lParam);
      g_StartCaptureSplitterPos = g_Splitter.GetPos();
      ::SetCapture(hWnd);
      break;
    case WM_LBUTTONUP:
    {
      ::ReleaseCapture();
      break;
    }
    case WM_MOUSEMOVE:
    {
      if ((wParam & MK_LBUTTON) != 0 && ::GetCapture() == hWnd)
      {
        g_Splitter.SetPos(hWnd, g_StartCaptureSplitterPos +
            (short)LOWORD(lParam) - g_StartCaptureMousePos);
        MoveSubWindows(hWnd);
      }
      break;
    }

    case WM_SIZE:
    {
      if (g_CanChangeSplitter)
        g_Splitter.SetPosFromRatio(hWnd);
      else
      {
        g_Splitter.SetPos(hWnd, g_SplitterPos );
        g_CanChangeSplitter = true;
      }

      OnSize(hWnd);
      /*
      int xSize = LOWORD(lParam);
      int ySize = HIWORD(lParam);
      // int xSplitter = 2;
      int xWidth = g_SplitPos;
      // int xSplitPos = xWidth;
      g_Panel[0]._listView.MoveWindow(0, 0, xWidth, ySize);
      g_Panel[1]._listView.MoveWindow(xSize - xWidth, 0, xWidth, ySize);
      */
      return 0;
      break;
    }
    case WM_SETFOCUS:
      // g_App.SetFocus(g_App.LastFocusedPanel);
      g_App.SetFocusToLastItem();
      break;
    /*
    case WM_ACTIVATE:
    {
      int fActive = LOWORD(wParam);
      switch (fActive)
      {
        case WA_INACTIVE:
        {
          // g_FocusIndex = g_App.LastFocusedPanel;
          // g_App.LastFocusedPanel = g_App.GetFocusedPanelIndex();
          // return 0;
        }
      }
      break;
    }
    */
    /*
    case kLangWasChangedMessage:
      MyLoadMenu(g_HWND);
      return 0;
    */
      
    /*
    case WM_SETTINGCHANGE:
      break;
    */
    case WM_NOTIFY:
    {
      g_App.OnNotify((int)wParam, (LPNMHDR)lParam);
      break;
    }
    /*
    case WM_DROPFILES:
    {
      g_App.GetFocusedPanel().CompressDropFiles((HDROP)wParam);
      return 0 ;
    }
    */
   }
   #ifndef _UNICODE
   if (g_IsNT)
     return DefWindowProcW(hWnd, message, wParam, lParam);
   else
   #endif
     return DefWindowProc(hWnd, message, wParam, lParam);

}

void OnSize(HWND hWnd)
{
  /*
  if (g_App._rebar)
  {
    RECT rect;
    ::GetClientRect(hWnd, &rect);
    int xSize = rect.right;
    int ySize = rect.bottom;
    // rect.bottom = 0;
    // g_App._rebar.SizeToRect(&rect);
    // g_App._rebar.Move(0, 0, xSize, ySize);
  }
  */
  MoveSubWindows(hWnd);
}

int Window_GetRealHeight(NWindows::CWindow &w)
{
  RECT rect;
  WINDOWPLACEMENT placement;
  w.GetWindowRect(&rect);
  int res = rect.bottom - rect.top;
  if (w.GetPlacement(&placement))
    res += placement.rcNormalPosition.top;
  return res;
}

void MoveSubWindows(HWND hWnd)
{
  RECT rect;
  ::GetClientRect(hWnd, &rect);
  int xSize = rect.right;
  int headerSize = 0;
  if (g_App._rebar)
    headerSize = Window_GetRealHeight(g_App._rebar);
  int ySize = MyMax((int)(rect.bottom - headerSize), 0);
  
  // It's for such case: Minimize / Close:
  if (xSize == 0 && ySize == 0)
    return;
 
  if (g_App.NumPanels > 1)
  {
    g_App.Panels[0].Move(0, headerSize, g_Splitter.GetPos(), ySize);
    int xWidth1 = g_Splitter.GetPos() + kSplitterWidth;
    g_App.Panels[1].Move(xWidth1, headerSize, xSize - xWidth1, ySize);
  }
  else
  {
    /*
    int otherPanel = 1 - g_App.LastFocusedPanel;
    if (g_App.PanelsCreated[otherPanel])
      g_App.Panels[otherPanel].Move(0, headerSize, 0, ySize);
    */
    g_App.Panels[g_App.LastFocusedPanel].Move(0, headerSize, xSize, ySize);
  }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品综合久久| 欧美日韩午夜影院| 欧美大片免费久久精品三p | 92精品国产成人观看免费| 欧美成人一区二区三区片免费 | 免费在线观看日韩欧美| 91官网在线观看| 午夜欧美视频在线观看| 26uuu久久综合| 不卡一二三区首页| 亚洲国产va精品久久久不卡综合| 久久久亚洲精品石原莉奈 | 欧美日韩卡一卡二| 久久黄色级2电影| 国产亚洲va综合人人澡精品| 99久久er热在这里只有精品15| www.成人网.com| 丝袜美腿高跟呻吟高潮一区| 欧美一级视频精品观看| 成人午夜又粗又硬又大| 日韩黄色一级片| 亚洲婷婷综合久久一本伊一区| 欧美国产激情一区二区三区蜜月| 国产精品丝袜久久久久久app| 亚洲午夜国产一区99re久久| 69p69国产精品| 91免费观看在线| 蜜臀av一区二区| 亚洲成av人片在线| 中文av一区二区| 欧美tickling挠脚心丨vk| 色一情一乱一乱一91av| 国产91综合网| 激情久久久久久久久久久久久久久久| 91香蕉国产在线观看软件| 蜜桃视频在线观看一区| 一区二区三区91| 久久精品亚洲国产奇米99| 日韩一区和二区| 在线综合视频播放| 91精品国产综合久久精品图片| 亚洲一区免费视频| 亚洲婷婷综合久久一本伊一区| 国产91精品免费| 高清国产一区二区| 丰满少妇久久久久久久| 精品一区二区三区免费| 国内精品在线播放| 激情另类小说区图片区视频区| 欧美伦理影视网| 日韩一区二区免费视频| 日韩精品影音先锋| 国产精品视频你懂的| 最好看的中文字幕久久| 一区av在线播放| 亚洲精品视频在线观看网站| 一区二区三区久久久| 亚洲一区二区欧美| 久草这里只有精品视频| 成人免费看片app下载| 91美女片黄在线观看91美女| 欧美亚洲动漫另类| 精品国内片67194| 亚洲欧洲日韩av| 天堂久久久久va久久久久| 国产麻豆精品一区二区| 一本大道久久精品懂色aⅴ | 亚洲图片你懂的| 亚洲综合免费观看高清完整版| 久久精品亚洲精品国产欧美kt∨| 91在线视频播放地址| 欧美一区二区三区色| 久久久久久久免费视频了| 亚洲男人电影天堂| 国产精品乡下勾搭老头1| 欧美日韩在线播放一区| 国产精品美女久久久久久| 天天综合网 天天综合色| 一本大道综合伊人精品热热| 国产欧美日韩不卡| 麻豆视频观看网址久久| 一本大道综合伊人精品热热| 国产目拍亚洲精品99久久精品 | 色婷婷国产精品综合在线观看| 日韩精品乱码免费| 97超碰欧美中文字幕| 久久久久一区二区三区四区| 午夜精品福利一区二区蜜股av| 亚洲婷婷国产精品电影人久久| 久久男人中文字幕资源站| 天天色图综合网| 91精品国产福利| 日本免费新一区视频| 91精品国产手机| 亚洲激情中文1区| 欧美老人xxxx18| 午夜精品123| 欧美www视频| 国产乱码精品一区二区三 | 国产成人综合视频| 久久天天做天天爱综合色| 韩日欧美一区二区三区| 久久精品夜色噜噜亚洲aⅴ| 成人精品小蝌蚪| 一区二区三区中文字幕精品精品 | 国产 欧美在线| 国产精品视频线看| 欧美精品v国产精品v日韩精品| 欧美三级乱人伦电影| 一区二区三区在线观看动漫| 欧美三级韩国三级日本三斤| 美女视频网站久久| 久久综合成人精品亚洲另类欧美| 自拍视频在线观看一区二区| 波多野结衣欧美| 天堂久久久久va久久久久| 欧美zozo另类异族| www.亚洲精品| 麻豆精品久久久| 亚洲一区二区三区四区在线| 日韩区在线观看| 色天使色偷偷av一区二区| 日韩精品每日更新| 日韩毛片视频在线看| 日韩一级免费观看| 国产精品18久久久久久vr| 国产精品久久99| 欧美电视剧免费全集观看| 成人丝袜18视频在线观看| 视频在线观看国产精品| 亚洲免费观看高清完整| 精品免费日韩av| 欧美精品777| 在线日韩一区二区| 国产成人午夜视频| 久久精品国产色蜜蜜麻豆| 亚洲国产日韩精品| 亚洲三级电影网站| 国产精品人人做人人爽人人添| 久久99精品一区二区三区三区| 欧美日韩国产小视频| 91丨porny丨最新| 色婷婷av久久久久久久| 国产一区高清在线| 午夜精品国产更新| 日本不卡一区二区| 日本欧美韩国一区三区| 日韩**一区毛片| 精品一区二区三区免费观看| 国产在线一区观看| 国产精品一区一区三区| 国产一区二区三区电影在线观看 | 波多野结衣中文一区| 顶级嫩模精品视频在线看| 成人va在线观看| 欧美日韩精品一区二区| 3d动漫精品啪啪1区2区免费| 日韩一区二区电影网| 久久精品视频免费| 日本一区二区三区电影| 亚洲欧美日韩一区| 日韩成人精品在线| 国产 日韩 欧美大片| 精品视频一区 二区 三区| 欧美成人三级在线| 亚洲欧美日韩中文字幕一区二区三区| 欧美一区二区成人6969| 国产丝袜在线精品| 亚洲一区二区三区三| 久久99精品久久久久久久久久久久| 一区二区欧美视频| 看片网站欧美日韩| 色爱区综合激月婷婷| 宅男噜噜噜66一区二区66| 亚洲国产高清在线| 久久激情综合网| 欧美日韩国产一区| 一区二区高清在线| 91小视频免费看| 国产精品美女www爽爽爽| 免费精品视频最新在线| 欧美日韩高清一区二区不卡| 亚洲人123区| 色综合久久中文字幕| 国产精品乱子久久久久| 国产乱人伦偷精品视频免下载 | 欧美视频一区二区| 欧美一区二区三区四区五区| 日韩欧美一区二区不卡| 亚洲夂夂婷婷色拍ww47| 99国产精品久久久久久久久久久| 美女视频黄久久| 欧美日韩免费在线视频| 亚洲免费观看高清完整版在线观看熊| 中文av字幕一区| 99久久精品一区二区| 国产欧美久久久精品影院| 九九精品视频在线看| 久久综合色8888| 国产成人在线免费|