📄 splitthread.cpp
字号:
///////////////////////////////////////////////////////
//
// Name: SplitFile
// date: 24/03/2005
// module: main
// author: 晏丹强
///////////////////////////////////////////////////////
#include<windows.h>
#include"resource.h"
#pragma comment(lib,"comctl32.lib")
/////////////////对话框消息处理涵数
int CALLBACK jiondlg(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam);
int CALLBACK splitdlg(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam);
char filepath[256];//////分割的文件路径
char save[256];
LPTSTR savepath;
LPTSTR lpfile;
BYTE *lpdata,*data,*filedata[256];
/////////////////////////核心涵数头文件
#include"tool.h"
void DoPropertySheet(HINSTANCE hinst)
{
PROPSHEETPAGE psp[2];
PROPSHEETHEADER psh;
psp[1].dwSize = sizeof(PROPSHEETPAGE);
psp[1].dwFlags = PSP_USEICONID | PSP_USETITLE;
psp[1].hInstance =hinst;
psp[1].pszTemplate = (LPCTSTR)ID_JION;
psp[1].pszIcon = MAKEINTRESOURCE(IDI_ICON1);
psp[1].pfnDlgProc = (DLGPROC)jiondlg;
psp[1].pszTitle = "合并";
psp[1].lParam =0;
psp[1].pfnCallback = NULL;
psp[0].dwSize = sizeof(PROPSHEETPAGE);
psp[0].dwFlags = PSP_USEICONID | PSP_USETITLE|PSP_HASHELP;
psp[0].hInstance =hinst;
psp[0].pszTemplate = (LPCTSTR)ID_SPLIT;
psp[0].pszIcon = (LPCTSTR)IDI_ICON2;
psp[0].pfnDlgProc =(DLGPROC)splitdlg;
psp[0].pszTitle = "分割";
psp[0].lParam = 0;
psp[0].pfnCallback = NULL;
psh.dwSize = sizeof(PROPSHEETHEADER);
psh.dwFlags = PSH_USEICONID | PSH_PROPSHEETPAGE;
psh.hwndParent =NULL;
psh.hInstance = hinst;
psh.pszIcon = MAKEINTRESOURCE(IDI_ICON3);
psh.pszCaption = (LPSTR)"split";
psh.nPages = sizeof(psp) / sizeof(PROPSHEETPAGE);
psh.nStartPage = 0;
psh.ppsp = (LPCPROPSHEETPAGE) &psp;
psh.pfnCallback =0;
PropertySheet(&psh);
}
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hpre,LPSTR lpcmd,int show)
{
HWND hwnd=NULL;
MSG message;
DoPropertySheet(hInstance);
while(GetMessage(&message,0,0,0))
{
if ( !IsDialogMessage(hwnd,&message ) )
TranslateMessage(&message);
DispatchMessage(&message);
}
return message.wParam ;
}
int CALLBACK jiondlg(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
{
char path[256];
char savepath[256];
int num=0;
static LPTSTR lpfile=path;
static LPTSTR savename=savepath;
HWND exit;
switch(msg)
{
case WM_INITDIALOG:
exit=GetDlgItem(hwnd,ID_EXIT);
SetFocus(exit);
return 0;
case WM_COMMAND:
switch(LOWORD(wparam))
{
case ID_EXIT:
PostQuitMessage(0);
return 0;
case ID_OPEN:
lpfile=OpenFindFile(hwnd,FALSE);
SetDlgItemText(hwnd,ID_OPENEDIT,lpfile);
break;
case ID_SAVE:
savename=DoOpenDir(hwnd);
SetDlgItemText(hwnd,ID_SAVEEDIT,(LPTSTR)savename);
break;
case ID_JOIN:///合并文件按钮消息
Join(lpfile,savename);
break;
}
return 0;
}
return 0;
}
int CALLBACK splitdlg(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)
{
static HWND hdlg;
int bytes=1;
switch(msg)
{
case WM_INITDIALOG:
SetDlgItemInt(hwnd,ID_SPLITBYTE,bytes,TRUE);
lpfile=filepath;
savepath=save;
return 0;
case WM_COMMAND:
switch(LOWORD(wparam))
{
case IDOK:
PostQuitMessage(0);
return 0;
case ID_SELECT:
lpfile=OpenFindFile(hwnd,TRUE);
SetDlgItemText(hwnd,IDS_FILEPATH,lpfile);
break;
case ID_SAVE:
savepath=DoOpenDir(hwnd);
SetDlgItemText(hwnd,ID_SAVESPLIT,(LPTSTR)savepath);
break;
case ID_SPLIT://///分割文件按钮消息
bytes=GetDlgItemInt(hwnd,ID_SPLITBYTE,FALSE,TRUE);
bytes*=(1024*1024);
Split(lpfile,savepath,bytes);
break;
}
return 0;
}
return 0;
}
/////////////end////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -