青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 23,  comments - 20,  trackbacks - 0
 
     摘要: 費(fèi)了九牛二虎之力  終于讓我把二弄出來了...不好弄啊  本來都準(zhǔn)備算了哎  技術(shù)人員  哪能那么簡單說放棄 ...最后用了一個(gè)最笨的方法終于實(shí)現(xiàn)了要求這次由于時(shí)間很匆忙  所以 界面方面沒有做任何工作  速度的計(jì)算也沒有  本來是準(zhǔn)備用線程池的  試驗(yàn)了一下  最后還是做老本行吧...自己創(chuàng)建線程沒有什么多...  閱讀全文
posted @ 2009-08-18 17:28 李佳 閱讀(435) | 評論 (0)編輯 收藏
最近工作比較輕松  現(xiàn)在沒事不能不寫代碼  呵呵 閑著沒事  想做個(gè)下載工具
先大致分成三步做吧 
第一步  文件的下載  最基礎(chǔ)
第二步  多線程連接下載文件    提高速度的關(guān)鍵
第三部  斷點(diǎn)續(xù)傳    非常實(shí)用

今天來實(shí)現(xiàn)第一步吧
文件的下載  http協(xié)議的

使用了一個(gè)VC知識庫的Http類      不多說 上代碼
  1 //確定按鈕
  2 void CHttpDownloadDlg::OnBnClickedOk()
  3 {    
  4     ::CreateThread(NULL,0,DownloadThreadProc,(PVOID)this,NULL,NULL);    
  5 }
  6 
  7 //退出按鈕
  8 void CHttpDownloadDlg::OnBnClickedCancel()
  9 {
 10     // TODO: 在此添加控件通知處理程序代碼
 11     OnCancel();
 12 }
 13 
 14 //獲取存儲(chǔ)的文件夾
 15 CString CHttpDownloadDlg::GetStorgeFolde(void)
 16 {
 17     CString strFold;
 18     BROWSEINFO   bi;  
 19     TCHAR   buffer[MAX_PATH];  
 20     ZeroMemory(buffer,   MAX_PATH);  
 21     bi.hwndOwner   =   GetSafeHwnd();  
 22     bi.pidlRoot   =   NULL;  
 23     bi.pszDisplayName   =   buffer;  
 24 
 25     bi.lpszTitle   =   _T("選擇一個(gè)文件夾");  
 26     bi.ulFlags   =   BIF_EDITBOX;  
 27     bi.lpfn   =   NULL;  
 28     bi.lParam   =   0;  
 29     bi.iImage   =   0;  
 30 
 31     LPITEMIDLIST   pList   =   NULL;  
 32     if   ((pList   =   SHBrowseForFolder(&bi))   !=   NULL)  
 33     {  
 34         TCHAR   path[MAX_PATH];  
 35         ZeroMemory(path,   MAX_PATH);  
 36         SHGetPathFromIDList(pList,   path);  
 37         strFold = path;
 38         UpdateData(FALSE);        
 39     }    
 40     return strFold;
 41 }
 42 
 43 //線程函數(shù)
 44 DWORD WINAPI DownloadThreadProc(LPVOID pDate)
 45 {
 46     CHttpDownloadDlg * pMainDlg = (CHttpDownloadDlg*)pDate;
 47     //pMainDlg->m_DownloadProg.SetPos(30);
 48     CHttpSocket HttpSocket;
 49     CString strServer , strObject ;
 50     USHORT uPort;
 51     DWORD dwServerType;
 52     long lLenth;
 53     const char * pRequestHeader = NULL;
 54 
 55     //通過URL獲取相關(guān)參數(shù)
 56     AfxParseURL(pMainDlg->m_strDownloadAddr , dwServerType , strServer , strObject , uPort);
 57     pRequestHeader = HttpSocket.FormatRequestHeader((LPTSTR)(LPCTSTR)strServer , (LPTSTR)(LPCTSTR)strObject , lLenth );
 58     HttpSocket.Socket();
 59     HttpSocket.Connect((LPTSTR)(LPCTSTR)strServer );
 60     HttpSocket.SendRequest();
 61     HttpSocket.SetTimeout(100);
 62 
 63     char szLength[15];
 64     HttpSocket.GetField("Content-Length" , szLength , 15);
 65     int iServerState = HttpSocket.GetServerState();
 66     int iFileSize = atoi(szLength);
 67     pMainDlg->m_DownloadProg.SetRange(0,iFileSize/1024);    //設(shè)置進(jìn)度條
 68     CFile file;
 69     file.Open(pMainDlg->m_strStorgePath , CFile::modeCreate | CFile::modeWrite);
 70     char szDate[2048];
 71     int iRecvSize = 0;    //讀取的文件大小
 72     int iCompleteSize = 0;
 73     //DWORD dwStartTime , dwEndTime;    //暫時(shí)不計(jì)算速度
 74     while (iCompleteSize < iFileSize)
 75     {
 76         //dwStartTime = GetTickCount();
 77         iRecvSize = HttpSocket.Receive(szDate , 2048);
 78         if (iRecvSize == 0)
 79         {
 80             ::AfxMessageBox("服務(wù)器關(guān)閉鏈接");
 81             break;
 82         }
 83         if (iRecvSize == -1)
 84         {
 85             ::AfxMessageBox("接收數(shù)據(jù)超時(shí)");
 86             break;
 87         }
 88         //dwEndTime = GetTickCount();
 89         file.Write(szDate , iRecvSize);
 90         iCompleteSize += iRecvSize;
 91         pMainDlg->m_DownloadProg.SetPos(iCompleteSize / 1024 );        
 92     }
 93     file.Close();
 94     pMainDlg->m_DownloadProg.SetPos(0);
 95     AfxMessageBox("下載完成");
 96     return 1;
 97 }
 98 
 99 //獲取存儲(chǔ)路徑   仿造迅雷的獲取存儲(chǔ)名稱 盡量不要用戶使用鍵盤
100 void CHttpDownloadDlg::OnBnClickedGetStorgePath()
101 {
102     UpdateData(TRUE);
103     if(m_strDownloadAddr == "")
104     {
105         AfxMessageBox("請輸入下載地址" , MB_OK);
106         return ;
107     }
108 
109     CString strFileName = m_strDownloadAddr;
110     m_strStorgePath = GetStorgeFolde();
111 
112     while(strFileName.Find("/"!= -1)
113     {
114         int i = strFileName.Find("/");
115         strFileName = strFileName.Mid(i +1 , strFileName.GetLength() - i - 1);
116     }
117 
118     m_strStorgePath += strFileName;
119     UpdateData(FALSE);
120 }
121 
界面很簡陋 


今天就先做到這

posted @ 2009-08-17 12:10 李佳 閱讀(716) | 評論 (0)編輯 收藏
主要是鍛煉一下自己關(guān)于進(jìn)程操作方面的能力  最主要是  要用好MSDN
不廢話 上代碼

 1 
 2 void CEnumProcessDlg::OnBnClickedOk()
 3 {
 4     DWORD dwPIDPrcess[1024];
 5 //    DWORD dwArrSize;
 6     DWORD dwSize;
 7     
 8     ::EnumProcesses(dwPIDPrcess , 1024 , &dwSize);        //枚舉進(jìn)程 拿到PID 
 9     int iCount = dwSize / sizeof(DWORD);
10     for (int i = 0 ; i < iCount ; i++)    //枚舉所有進(jìn)程
11     {
12         HANDLE  hProcess = OpenProcess(PROCESS_ALL_ACCESS , TRUE , dwPIDPrcess[i]);
13         HMODULE hProcessModule;
14         DWORD dwEnumProcessModuleSize;
15         TCHAR szProcessName[512];
16         if (hProcess != INVALID_HANDLE_VALUE) //打開了進(jìn)程
17         {
18             if (EnumProcessModules(hProcess , &hProcessModule , sizeof(HMODULE), &dwEnumProcessModuleSize))
19             {
20                 GetModuleBaseName(hProcess , hProcessModule , szProcessName , 512);                
21                 HANDLE hSnapShot = ::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE , dwPIDPrcess[i]);
22                 if (hSnapShot == INVALID_HANDLE_VALUE)
23                 {
24                     CloseHandle(hProcess);
25                     continue;
26                 }
27                 MODULEENTRY32 me32;
28                 me32.dwSize = sizeof(MODULEENTRY32);
29                 if ( !Module32First(hSnapShot , &me32))
30                 {
31                     //添加出錯(cuò)代碼
32                     CloseHandle(hSnapShot);
33                     CloseHandle(hProcess);
34                     continue;
35                 }
36                 CString strTemp;
37                 strTemp.Format(_T("%d") , dwPIDPrcess[i]);
38                 m_strProcessName += szProcessName ;    //進(jìn)程名稱
39                 m_strProcessName += _T("              ");
40                 m_strProcessName +=me32.szExePath;        //程序的存放路徑
41                 m_strProcessName += _T("   ");
42                 m_strProcessName += strTemp;                //PID
43                 m_strProcessName += _T("\r\n");
44         
45                 UpdateData(FALSE);
46                 CloseHandle(hSnapShot);
47                 CloseHandle(hProcess);
48             }//
49 
50         }
51     }
52     //OpenProcess
53     //OnOK();
54 }
代碼很短吧...
上圖片  執(zhí)行的效果圖


posted @ 2009-08-15 17:47 李佳 閱讀(235) | 評論 (0)編輯 收藏
僅列出標(biāo)題
共3頁: 1 2 3 
<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

常用鏈接

留言簿

隨筆分類

隨筆檔案

文章檔案

相冊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产一区二区三区无遮挡| 国产精品极品美女粉嫩高清在线| 久久综合色播五月| 欧美一区二区三区电影在线观看| 亚洲视频在线观看三级| 99re热这里只有精品免费视频| 亚洲日本在线观看| 亚洲手机视频| 久久国产精品免费一区| 狼人天天伊人久久| 亚洲国产精品va在线看黑人 | 欧美性猛交xxxx乱大交退制版| 欧美美女bbbb| 国产精品第2页| 影音欧美亚洲| 国产精品99久久99久久久二8| 午夜精品在线视频| 老巨人导航500精品| 欧美成人精品| 一区二区三区欧美在线| 欧美一区2区视频在线观看| 麻豆成人在线| 国产精品亚洲激情| 亚洲日本电影在线| 亚洲一区二区三区四区视频| 久久久99精品免费观看不卡| 亚洲高清中文字幕| 性欧美video另类hd性玩具| 蜜桃av噜噜一区| 国产精品日韩一区二区| 亚洲国产成人av| 欧美一级艳片视频免费观看| 欧美韩日一区二区三区| 亚洲欧美美女| 欧美日韩一区二区三区四区在线观看 | 国产精品v日韩精品| 亚洲天堂av在线免费| 久久大香伊蕉在人线观看热2| 男女精品网站| 亚洲女同精品视频| 欧美日韩国产免费| 永久免费毛片在线播放不卡| 亚洲先锋成人| 亚洲第一网站| 久久国产精品毛片| 国产精品婷婷午夜在线观看| 99成人在线| 欧美黑人国产人伦爽爽爽| 欧美影院久久久| 国产精品igao视频网网址不卡日韩| 在线观看视频日韩| 久久一二三国产| 午夜在线视频观看日韩17c| 欧美日一区二区在线观看| 亚洲日本va午夜在线影院| 老司机精品视频网站| 欧美一区二区在线看| 国产日韩欧美不卡在线| 欧美一区二区三区在线看| 一本色道久久精品| 欧美精品久久久久久| 日韩视频免费观看| 欧美成年人网站| 久久久久久久一区二区三区| 国产一区视频在线看| 久久久天天操| 久久嫩草精品久久久精品| 很黄很黄激情成人| 久久精品人人| 久久久99国产精品免费| 精品动漫av| 欧美大片一区| 欧美极品aⅴ影院| 一区二区三区四区国产精品| 99视频超级精品| 国产女人水真多18毛片18精品视频| 午夜在线精品| 久久精品日韩欧美| 亚洲第一区在线观看| 亚洲福利视频二区| 欧美日韩国产首页在线观看| 亚洲欧美精品伊人久久| 国产精品99久久久久久www| 国产精品网站在线观看| 久久免费国产精品1| 欧美福利视频在线| 亚洲性感美女99在线| 亚洲摸下面视频| 好吊色欧美一区二区三区四区 | 一区二区欧美日韩视频| 欧美日韩专区在线| 欧美专区在线观看| 欧美18av| 亚洲欧美成人网| 久久av二区| 日韩视频中文字幕| 亚洲欧美文学| 亚洲欧洲在线视频| 亚洲一区精品电影| 亚洲高清av| 亚洲自拍16p| 亚洲精品国偷自产在线99热| 亚洲四色影视在线观看| 亚洲福利小视频| 亚洲在线黄色| 亚洲国产欧美一区| 亚洲欧美综合| 一本一道久久综合狠狠老精东影业| 午夜精品福利视频| 在线午夜精品自拍| 久久久综合网站| 欧美一级大片在线观看| 欧美二区在线播放| 老色鬼精品视频在线观看播放| 欧美午夜片欧美片在线观看| 欧美激情亚洲自拍| 韩国av一区| 亚洲欧美国产高清| 一区二区三区四区国产精品| 老司机午夜精品| 久久精品亚洲一区二区三区浴池 | 欧美精品v日韩精品v国产精品 | 牛夜精品久久久久久久99黑人| 欧美日韩性视频在线| 蜜桃精品一区二区三区| 国产拍揄自揄精品视频麻豆| 一区二区冒白浆视频| 亚洲精品在线看| 欧美不卡视频一区发布| 久久久久九九视频| 国产九区一区在线| 亚洲婷婷免费| 亚洲欧美综合精品久久成人| 欧美日韩大片一区二区三区| 亚洲东热激情| 亚洲国产精品高清久久久| 久久久久国产精品www| 久久久激情视频| 国产精品视频一区二区高潮| 在线亚洲观看| 亚洲一区三区在线观看| 欧美日韩影院| 99亚洲伊人久久精品影院红桃| 99热在这里有精品免费| 欧美精品一二三| 99re6这里只有精品视频在线观看| 日韩午夜在线| 欧美私人啪啪vps| 亚洲欧美日韩成人| 久久国产手机看片| 国产综合色在线| 免费不卡欧美自拍视频| 欧美激情在线狂野欧美精品| 亚洲高清免费视频| 亚洲免费观看高清完整版在线观看熊 | 国产精品免费在线 | 午夜伦欧美伦电影理论片| 欧美专区亚洲专区| 在线观看日韩国产| 欧美精品激情blacked18| 亚洲黄色成人网| 亚洲制服少妇| 好看的日韩视频| 免费欧美日韩| 日韩视频免费在线观看| 午夜久久99| 永久免费视频成人| 欧美日本韩国| 羞羞漫画18久久大片| 免费在线成人av| 亚洲一区美女视频在线观看免费| 国产农村妇女毛片精品久久莱园子| 久久国产精品色婷婷| 亚洲国产免费| 欧美影院视频| 亚洲黄一区二区三区| 国产精品videosex极品| 久久婷婷成人综合色| 中文在线不卡| 免费在线日韩av| 亚洲综合不卡| 亚洲国产精品欧美一二99| 欧美午夜理伦三级在线观看| 久久免费国产精品1| 亚洲一区二区欧美| 亚洲级视频在线观看免费1级| 欧美一级视频一区二区| 日韩亚洲国产欧美| 樱桃国产成人精品视频| 国产欧美1区2区3区| 欧美日韩在线看| 老司机免费视频一区二区| 香蕉国产精品偷在线观看不卡 | 欧美在线在线| 亚洲精品国久久99热| 美女主播视频一区| 欧美一区二区高清在线观看| 9国产精品视频| 精品91免费| 国产一区二区激情|