www.pudn.com > Directory 225137102001.zip > copyfile.cpp
#include#include using namespace std; HWND button; HWND editbx1,editbx2; int dirwalk(); const char g_szClassName[] = "mywindowclass"; LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_COMMAND: if(LOWORD(wParam) == BN_CLICKED && (HWND)lParam == button){ dirwalk(); } break; case WM_CLOSE: DestroyWindow(hwnd); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hwnd, msg, wParam, lParam); } return 0; } int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { WNDCLASSEX wc; HWND hwnd; MSG Msg; wc.cbSize = sizeof(WNDCLASSEX); wc.style = 0; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+5); wc.lpszMenuName = NULL; wc.lpszClassName = g_szClassName; wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); if(!RegisterClassEx(&wc)) { MessageBox(NULL, "Cannot register window","Error creating window", MB_OK); return 0; } hwnd = CreateWindowEx(WS_EX_CLIENTEDGE,g_szClassName, "Copy File",WS_OVERLAPPEDWINDOW, 150,40,400,500,NULL,NULL, hInstance,NULL); button = CreateWindow("Button","Copy Now",WS_CHILD | WS_VISIBLE,90,50,240,40,hwnd,NULL,hInstance,NULL); editbx1 = CreateWindow("Edit", "Enter file to copy", WS_CHILD | WS_VISIBLE | WS_BORDER,115,150,200,40,hwnd,NULL,hInstance,NULL); editbx2 = CreateWindow("Edit", "Enter destination here", WS_CHILD | WS_VISIBLE | WS_BORDER,115,230,200,40,hwnd,NULL,hInstance,NULL); if(hwnd == NULL) { MessageBox(NULL, "Something is screwed up!", "ERROR", MB_OK); return 0; } ShowWindow(hwnd, nCmdShow); UpdateWindow(hwnd); while(GetMessage(&Msg, NULL, 0,0)) { TranslateMessage(&Msg); DispatchMessage(&Msg); } return Msg.wParam; } int dirwalk() { WIN32_FIND_DATA WFD; HANDLE fhwnd; BOOL fhwnd2; int i=1; char *file[800]; BOOL val; string cdrive; string cpath; string dest; string ddrive; //cdrive = "C:\\"; int len = GetWindowTextLength(editbx1)+1; TCHAR *pcbuf = new TCHAR[len + 1]; GetWindowText(editbx1, pcbuf,len); cdrive=pcbuf; int len2 = GetWindowTextLength(editbx2)+1; TCHAR *buf = new TCHAR[len2 + 1]; GetWindowText(editbx2, buf,len2); dest = buf; fhwnd = FindFirstFile(cdrive.c_str(), &WFD); file[i] = new char[strlen(WFD.cFileName)]; file[i] = WFD.cFileName; cdrive.erase(cdrive.length()-3,3); //MessageBox(NULL,cdrive.c_str(),"test",MB_OK); cpath = cdrive+file[i]; ddrive = dest + file[i]; val = CopyFile(cpath.c_str(),ddrive.c_str(),FALSE); if(val==0){ MessageBox(NULL,"Error","Error",MB_OK); } //MessageBox(NULL,cpath.c_str(),"test",MB_OK); //MessageBox(NULL,ddrive.c_str(),"test",MB_OK); if(fhwnd==INVALID_HANDLE_VALUE){ exit(1); } do{ fhwnd2 = FindNextFile(fhwnd,&WFD); i++; file[i] = new char[strlen(WFD.cFileName+1)]; file[i] = WFD.cFileName; cpath = cdrive+file[i]; ddrive = dest + file[i]; val = CopyFile(cpath.c_str(),ddrive.c_str(),FALSE); if(val==0){ MessageBox(NULL,"Error","Error",MB_OK); } //MessageBox(NULL,cpath.c_str(),"test",MB_OK); //MessageBox(NULL,ddrive.c_str(),"test",MB_OK); }while(fhwnd2!=0); MessageBox(NULL,"Copy Complete", "FileCopy", MB_OK); delete[] file[800]; return 0; }