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

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

?? mysplitterdlg.cpp

?? 《Windows應用程序捆綁核心編程》配套源碼
?? CPP
字號:
// MySplitterDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MySplitter.h"
#include "MySplitterDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMySplitterDlg dialog

CMySplitterDlg::CMySplitterDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMySplitterDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMySplitterDlg)
	m_strCutNum = _T("");
	m_strCutUnit = _T("");
	m_strFileName = _T("");
	m_strSavePath = _T("");
	m_strFileSize = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
	m_bEqVolume=TRUE;
}

void CMySplitterDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMySplitterDlg)
	DDX_Control(pDX, IDC_EDCUTNUM, m_edCutNum);
	DDX_Control(pDX, IDC_EDCUTUNIT, m_edCutUnit);
	DDX_Text(pDX, IDC_EDCUTNUM, m_strCutNum);
	DDX_Text(pDX, IDC_EDCUTUNIT, m_strCutUnit);
	DDX_Text(pDX, IDC_EDFILENAME, m_strFileName);
	DDX_Text(pDX, IDC_EDFILESAVE, m_strSavePath);
	DDX_Text(pDX, IDC_FILESIZE, m_strFileSize);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMySplitterDlg, CDialog)
	//{{AFX_MSG_MAP(CMySplitterDlg)
	ON_BN_CLICKED(IDC_RAD_EQVOL, OnRadEqvol)
	ON_BN_CLICKED(IDC_RAD_UNIT, OnRadUnit)
	ON_BN_CLICKED(IDC_BROWSE_FILE, OnBrowseFile)
	ON_BN_CLICKED(IDC_BROWSE_SAVE, OnBrowseSave)
	ON_EN_CHANGE(IDC_EDCUTUNIT, OnChangeEdcutunit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMySplitterDlg message handlers

BOOL CMySplitterDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
    m_edCutNum.EnableWindow(m_bEqVolume);
	m_edCutUnit.EnableWindow(!m_bEqVolume);

	CButton *RadEqVol=(CButton *)GetDlgItem(IDC_RAD_EQVOL);
	CButton *RadEqUnit=(CButton *)GetDlgItem(IDC_RAD_UNIT);
	RadEqVol->SetCheck(m_bEqVolume);
    RadEqUnit->SetCheck(!m_bEqVolume);
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMySplitterDlg::OnRadEqvol() 
{
	m_bEqVolume=TRUE;
    m_edCutNum.EnableWindow(m_bEqVolume);
	m_edCutUnit.EnableWindow(!m_bEqVolume);
}

void CMySplitterDlg::OnRadUnit() 
{
	m_bEqVolume=FALSE;
    m_edCutNum.EnableWindow(m_bEqVolume);
	m_edCutUnit.EnableWindow(!m_bEqVolume);
}

void CMySplitterDlg::OnBrowseFile() 
{
	struct _stat ST; 

    CFileDialog fileDialog(TRUE,NULL,NULL,NULL,
		        "所有文件(*.*)|*.*||");
	
	if (fileDialog.DoModal() == IDOK) 
	{
		m_strFileName = fileDialog.GetPathName(); 
		
 	    // 如果輸入的文件名為空,返回.
	    if(m_strFileName.IsEmpty()) return;

        // 獲取文件的長度.
	    _stat(m_strFileName, &ST);

		m_strFileSize.Format("%d",ST.st_size);
		UpdateData(FALSE);
	}			
}

void CMySplitterDlg::OnBrowseSave() 
{
	CString strResult =""; 
    LPMALLOC lpMalloc;  // pointer to IMalloc 
    if (::SHGetMalloc(&lpMalloc) != NOERROR) 
	{ 
		AfxMessageBox("Path operation error!"); 
		return ; 
	} 
    char szDisplayName[_MAX_PATH]; 
    char szBuffer[_MAX_PATH]; 
    BROWSEINFO browseInfo; 
    browseInfo.hwndOwner = this->m_hWnd; 
    // set root at Desktop 
    browseInfo.pidlRoot = NULL; 
    browseInfo.pszDisplayName = szDisplayName; 
    browseInfo.lpszTitle = "請選擇分類數(shù)據(jù)路徑";  // Dialog title 
    browseInfo.ulFlags = BIF_RETURNFSANCESTORS|BIF_RETURNONLYFSDIRS; 
    browseInfo.lpfn = NULL;     // not used 
    browseInfo.lParam = 0;      // not used 
    LPITEMIDLIST lpItemIDList; 
    if ((lpItemIDList = ::SHBrowseForFolder(&browseInfo)) 
        != NULL) 
    { 
        // Get the path of the selected folder from the    item ID list. 
        if (::SHGetPathFromIDList(lpItemIDList, szBuffer)) 
        { 
            // At this point, szBuffer contains the path the user chose. 
            if (szBuffer[0] == '\0') 
            { 
                // SHGetPathFromIDList failed, or SHBrowseForFolder failed. 
                AfxMessageBox("Fail to get directory!", 
                    MB_ICONSTOP|MB_OK); 
                return ; 
            } 
            // We have a path in szBuffer! Return it. 
            strResult = szBuffer; 
        } 
        else 
        { 
            // The thing referred to by lpItemIDList 
            // might not have been a file system object. 
            // For whatever reason, SHGetPathFromIDList didn't work! 
            AfxMessageBox("Fail to get directory!", 
                MB_ICONSTOP|MB_OK); 
            return ; 
        } 
        lpMalloc->Free(lpItemIDList); 
        lpMalloc->Release(); 
    } 

    m_strSavePath=strResult;
	UpdateData(FALSE); 	
}

//---------------------------------------------------------------------------
void CMySplitterDlg::AddDirSplash(CString &strDir) 
{
    CString strTmp=strDir;
	strTmp.TrimRight();
    if((!strTmp.IsEmpty())&&(strTmp.Right(1)!='\\'))
		strTmp +="\\";
	strDir=strTmp;
}

//---------------------------------------------------------------------------
BOOL CMySplitterDlg::DoSplit() 
{
    // 檢查被分割的文件名.
    if(m_strFileName.IsEmpty()) return FALSE;

	CString strFilePath,strShortName;
	
	// 控制程序的系統(tǒng)文件名.
    CString strFileDest;

	CThreadFCut sect;

	// 給文件目錄路徑增加分隔線.
	AddDirSplash(m_strSavePath);

  	// 分離文件路徑和短文件名.
	sect.BreakFileName(m_strFileName,strFilePath,strShortName);

	// 如果保存分割后的文件的目錄為空,取當前目錄保存分割后的文件.
	if(m_strSavePath.IsEmpty())
         m_strSavePath = strFilePath;

	if(m_bEqVolume){
		// 等體積分割.
		if(m_strCutNum.IsEmpty()) return FALSE;
		sect.DoVolumeCut(strFilePath,m_strSavePath,
	    		strShortName,atoi(m_strCutNum));

        // 產(chǎn)生控制程序的目標文件名.
		strFileDest.Format("%s_%sv.exe",m_strSavePath+strShortName,m_strCutNum);
       CopyObjectToDest(strFileDest);
	}
	else{
		// 固定長度單位分割.
		if(m_strCutUnit.IsEmpty()) return FALSE;
		sect.DoUnitCut(strFilePath,m_strSavePath,
      			m_strFileName,atoi(m_strCutUnit));
        
		// 獲得控制程序的目標文件名.
		strFileDest.Format("%s_%ss.exe",m_strSavePath+strShortName,m_strCutUnit);
        CopyObjectToDest(strFileDest);
 	}

	return TRUE;
}

//---------------------------------------------------------------------------
void CMySplitterDlg::CopyObjectToDest(CString strFileDest)
{
	struct _stat ST; 
	FILE *fpread,*fpwrite;

	CString strFilePath,strShortName;
   	TCHAR szModule[MAX_PATH];

	// 獲得應用程序名.
    GetModuleFileName(0, szModule, sizeof(szModule)); 
	
	// 獲取文件長度.
	_stat(szModule, &ST);
	UINT nFilesize=ST.st_size;

	// 打開文件.
	if((fpread=fopen(szModule,"rb"))==NULL)
		return;

	// 打開文件.
	if((fpwrite=fopen(strFileDest,"wb"))==NULL)
		return;
    
	// MySplitter.exe裸體文件長度.
	UINT nPos =126976;
	
	// 設置文件讀指針起始位置.
	fseek(fpread,nPos,SEEK_SET);

	int c;
	// 把控制程序數(shù)據(jù)寫入到strFileDest.
	while((c=fgetc(fpread))!=EOF)
	{
		fputc(c,fpwrite);
    }
    
	fclose(fpread);
	fclose(fpwrite);
}

//---------------------------------------------------------------------------
void CMySplitterDlg::OnChangeEdcutunit() 
{
	// 計算分割段的段數(shù).
	UpdateData();
	long nFilesize=atoi(m_strFileSize);
	long nSize=atoi(m_strCutUnit);
    int nSectNum= nFilesize/nSize;

	// 有多余的長度.
    if(nFilesize%nSize!=0) nSectNum ++;

    m_strCutNum.Format("%d",nSectNum);
	UpdateData(FALSE);
}

//---------------------------------------------------------------------------
void CMySplitterDlg::OnOK() 
{
	UpdateData();

	if(DoSplit()){
		AfxMessageBox("文件分割成功!:)");
	}
	else{
		AfxMessageBox("文件分割不成功:(((");
	}

	CDialog::OnOK();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲线精品一区二区三区| 北条麻妃一区二区三区| 99久久久久久| 欧美一级午夜免费电影| 自拍偷自拍亚洲精品播放| 老司机午夜精品| 欧美色图在线观看| 国产精品久久久久久福利一牛影视| 日本最新不卡在线| 色老汉av一区二区三区| 国产精品视频看| 国产精品一二三四区| 日韩欧美中文一区二区| 亚洲高清不卡在线| 日本韩国精品在线| 亚洲男女一区二区三区| 99视频精品在线| 国产精品视频在线看| 国产精品一区二区在线看| 337p日本欧洲亚洲大胆精品 | 一区二区三区精品在线| av成人动漫在线观看| 国产日韩欧美在线一区| 国产一区二区在线影院| 亚洲精品在线一区二区| 毛片av中文字幕一区二区| 91麻豆精品国产91| 日产精品久久久久久久性色| 91麻豆精品国产自产在线| 免费人成精品欧美精品| 4438x亚洲最大成人网| 91女神在线视频| 亚洲欧美一区二区久久| 一本色道久久综合亚洲aⅴ蜜桃| 日韩美女视频19| 日本韩国一区二区三区| 午夜伦欧美伦电影理论片| 欧美日韩另类一区| 蜜臀久久久99精品久久久久久| 欧美成人精精品一区二区频| 国产在线播放一区三区四| 国产欧美在线观看一区| 9i在线看片成人免费| 一区二区三区欧美亚洲| 欧美精品免费视频| 黄一区二区三区| 国产精品情趣视频| 欧洲视频一区二区| 蜜桃视频在线观看一区| 久久久国产精品不卡| 97精品超碰一区二区三区| 亚洲综合清纯丝袜自拍| 欧美一级黄色大片| 成人精品视频一区二区三区| 中文字幕精品一区| 欧洲色大大久久| 国产呦萝稀缺另类资源| 亚洲精品中文字幕乱码三区| 3751色影院一区二区三区| 国产一区二区三区在线看麻豆| 国产精品美女久久久久久| 欧美少妇xxx| 91精品国产91久久久久久一区二区 | 亚洲精品一区二区三区在线观看| 国产乱码精品一品二品| 夜夜爽夜夜爽精品视频| 久久综合精品国产一区二区三区 | 成人欧美一区二区三区1314| 91久久久免费一区二区| 国产一区二区三区在线观看免费视频 | 国产三级一区二区| 欧洲精品在线观看| 国产成人在线电影| 午夜欧美视频在线观看| 中文幕一区二区三区久久蜜桃| 欧美日韩卡一卡二| 99精品视频在线观看| 狠狠色丁香婷综合久久| 亚洲.国产.中文慕字在线| 国产精品欧美一区二区三区| 日韩一级片网址| 欧美日韩视频第一区| 成人精品小蝌蚪| 久久99久国产精品黄毛片色诱| 亚洲影院久久精品| 国产精品久久久久永久免费观看| 欧美tk—视频vk| 亚洲日本中文字幕区| 久久精品夜色噜噜亚洲aⅴ| 欧美精品丝袜中出| 色婷婷综合五月| 99国产欧美另类久久久精品| 精品综合免费视频观看| 婷婷开心激情综合| 亚洲成av人片在www色猫咪| 亚洲免费观看高清| 国产精品免费视频一区| 久久午夜国产精品| 日韩欧美在线影院| 91精品国产高清一区二区三区蜜臀 | 色又黄又爽网站www久久| 国产精品亚洲成人| 国产一区二区三区免费播放| 男女男精品视频网| 日本午夜一区二区| 美女诱惑一区二区| 男女男精品视频网| 麻豆免费看一区二区三区| 日韩成人免费电影| 日本欧美在线观看| 免费不卡在线观看| 理论片日本一区| 国产一区91精品张津瑜| 久久这里都是精品| 欧美日韩卡一卡二| 欧美日韩一区二区三区四区| 欧美性淫爽ww久久久久无| 日本精品裸体写真集在线观看| 95精品视频在线| 在线免费视频一区二区| 欧美日韩国产一二三| 欧美久久久久久蜜桃| 日韩欧美国产电影| 精品国产伦一区二区三区观看体验| 日韩免费一区二区三区在线播放| 精品免费日韩av| 久久精品综合网| 日韩理论在线观看| 亚洲国产一区二区三区| 日韩中文字幕一区二区三区| 蜜臀av在线播放一区二区三区| 国内精品视频一区二区三区八戒| 国产一区不卡视频| 91免费在线看| 欧美一区二区三区成人| 精品国产99国产精品| 中文字幕国产精品一区二区| 亚洲欧美激情视频在线观看一区二区三区| 自拍偷在线精品自拍偷无码专区| 亚洲国产视频在线| 精品一区二区综合| 91麻豆蜜桃一区二区三区| 欧美三级电影在线观看| 日韩欧美高清一区| 国产亚洲一区二区三区| 亚洲精品日韩专区silk| 九九在线精品视频| 99久久久精品免费观看国产蜜| 欧美蜜桃一区二区三区| 久久免费电影网| 亚洲一区二区在线播放相泽| 色视频成人在线观看免| 欧美xxxx老人做受| 亚洲色欲色欲www| 久久国产精品第一页| 91视频观看视频| 久久综合99re88久久爱| 亚洲在线免费播放| 成人一级视频在线观看| 欧美老年两性高潮| 亚洲欧美日本在线| 国产在线精品一区二区夜色| 成人av资源站| 精品欧美一区二区在线观看| 亚洲视频在线一区二区| 久久精工是国产品牌吗| 色婷婷综合视频在线观看| 久久久五月婷婷| 丝袜美腿亚洲一区| 在线亚洲一区观看| 欧美高清在线一区| 国产美女精品一区二区三区| 欧美日韩精品福利| 亚洲精品成人a在线观看| 成人性视频免费网站| 精品久久久久99| 三级亚洲高清视频| 欧美系列在线观看| 亚洲三级免费观看| 91女厕偷拍女厕偷拍高清| 国产精品嫩草久久久久| 国产高清不卡一区| 337p日本欧洲亚洲大胆精品| 免费日韩伦理电影| 91精品国产福利| 日本美女一区二区| 91麻豆精品久久久久蜜臀| 视频在线观看一区| 欧美日韩一区二区不卡| 一区二区三区在线免费| 91在线丨porny丨国产| 欧美激情综合在线| 丁香啪啪综合成人亚洲小说 | 一区二区三区国产精品| 成人av网址在线观看| 中文一区二区在线观看| 粉嫩av一区二区三区粉嫩| 国产精品情趣视频| 日本久久精品电影| 亚洲成a人v欧美综合天堂下载 |