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

隨筆-60  評(píng)論-111  文章-0  trackbacks-0
自己搞點(diǎn)小東西用的到。
在工程的根目錄里建一個(gè)svn目錄,然后在svn目錄里創(chuàng)建一個(gè)版本庫(kù),用svn檢出一下。
這樣這個(gè)工程就可以被svn管理了。
但是如果整個(gè)工程被移動(dòng)過了,那么svn就會(huì)出錯(cuò),于是寫了個(gè)小程序來重定位,從此可以把工程放在u盤帶著到處跑了。
  1 #include "stdafx.h"
  2 
  3 using namespace std;
  4 
  5 void AlertError(DWORD err)
  6 {
  7     LPVOID lpMsgBuf;
  8     LPVOID lpDisplayBuf;
  9     
 10     FormatMessage(
 11         FORMAT_MESSAGE_ALLOCATE_BUFFER | 
 12         FORMAT_MESSAGE_FROM_SYSTEM |
 13         FORMAT_MESSAGE_IGNORE_INSERTS,
 14         NULL,
 15         err,
 16         MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
 17         (LPTSTR) &lpMsgBuf,
 18         0, NULL );
 19     
 20     lpDisplayBuf = (LPVOID)LocalAlloc(LMEM_ZEROINIT, 
 21         strlen((char*)lpMsgBuf) + 40); 
 22     sprintf((char*)lpDisplayBuf,"錯(cuò)誤碼: %d\n信 息: %s", err,lpMsgBuf);
 23     MessageBox(NULL, (LPCTSTR)lpDisplayBuf, "錯(cuò)誤", MB_OK|MB_ICONERROR); 
 24     
 25     LocalFree(lpMsgBuf);
 26     LocalFree(lpDisplayBuf);
 27 }
 28 
 29 void GetCommandOutput(char* CmdLine, string& strOutput, bool IncludeErr=false)
 30 {
 31     strOutput="";
 32     SECURITY_ATTRIBUTES  sa;
 33     HANDLE hRead, hWrite;
 34     memset(&sa,0,sizeof(sa));
 35     sa.nLength=sizeof(sa);
 36     sa.bInheritHandle=TRUE;
 37     sa.lpSecurityDescriptor=NULL;
 38     if(CreatePipe(&hRead,&hWrite,&sa,0))
 39     {
 40         STARTUPINFO si;
 41         memset(&si,0,sizeof(si));
 42         si.cb=sizeof(si);
 43         si.hStdOutput=hWrite;
 44         si.hStdInput=GetStdHandle(STD_INPUT_HANDLE);
 45         si.hStdError=(IncludeErr?hWrite:GetStdHandle(STD_ERROR_HANDLE));
 46         si.dwFlags=STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
 47         si.wShowWindow=SW_HIDE;
 48         
 49         PROCESS_INFORMATION pi;
 50         if(CreateProcess(NULL,CmdLine,&sa,&sa,TRUE,CREATE_NO_WINDOW|NORMAL_PRIORITY_CLASS,
 51             NULL,NULL,&si,&pi))
 52         {
 53             char szBuf[512];
 54             DWORD dwReaded;
 55             if(WaitForSingleObject(pi.hProcess,INFINITE)!=WAIT_TIMEOUT)
 56             {
 57                 CloseHandle(hWrite);
 58                 while(ReadFile(hRead,szBuf,511,&dwReaded,NULL))
 59                 {
 60                     szBuf[dwReaded]='\0';
 61                     strOutput+=szBuf;
 62                 }
 63             }
 64             else
 65             {
 66                 cout<<"WaitForSingleObject錯(cuò)誤;"<<endl;
 67                 CloseHandle(hWrite);
 68                 AlertError(GetLastError());
 69             }
 70             CloseHandle(pi.hThread);
 71             CloseHandle(pi.hProcess);
 72         }
 73         else
 74         {
 75             cout<<"建立進(jìn)程錯(cuò)誤;"<<endl;
 76             AlertError(GetLastError());
 77         }
 78         CloseHandle(hRead);
 79     }
 80     else
 81     {
 82         cout<<"建立管道錯(cuò)誤;"<<endl;
 83         AlertError(GetLastError());
 84     }
 85 }
 86 
 87 int APIENTRY WinMain(HINSTANCE hInstance,
 88                      HINSTANCE hPrevInstance,
 89                      LPSTR     lpCmdLine,
 90                      int       nCmdShow)
 91 {
 92     char szBuf[MAX_PATH+20];
 93     wchar_t wcBuf[MAX_PATH];
 94     int i, j;
 95     string msg;
 96     
 97     GetCommandOutput("svn info --xml",msg);
 98     TiXmlDocument *doc = new TiXmlDocument();
 99     doc->Parse(msg.c_str());
100     TiXmlNode *node;
101     node=doc->FirstChild("info");
102     if(node==NULL)
103     {
104         MessageBox(NULL,"當(dāng)前目錄沒有被SVN","結(jié)果",MB_OK|MB_ICONINFORMATION);
105         return 0;
106     }
107     node=node->FirstChild("entry");
108     if(node==NULL)
109     {
110         MessageBox(NULL,"當(dāng)前目錄沒有被SVN","結(jié)果",MB_OK|MB_ICONINFORMATION);
111         return 0;
112     }
113     node=node->FirstChild("wc-info");
114     if(node==NULL)
115     {
116         MessageBox(NULL,"當(dāng)前目錄沒有被SVN","結(jié)果",MB_OK|MB_ICONINFORMATION);
117         return 0;
118     }
119     node=node->FirstChild("wcroot-abspath");
120     if(node==NULL)
121     {
122         MessageBox(NULL,"當(dāng)前目錄沒有被SVN","結(jié)果",MB_OK|MB_ICONINFORMATION);
123         return 0;
124     }
125     strcpy(szBuf,node->ToElement()->GetText());
126     delete node;
127     delete doc;
128 
129     j=strlen(szBuf);
130     i=MultiByteToWideChar(CP_UTF8,0,szBuf,j,wcBuf,MAX_PATH);
131     wcBuf[i]=static_cast<wchar_t>(0);
132     strcpy(szBuf,"svn relocate file:///");
133     j=strlen(szBuf);
134     i=WideCharToMultiByte(CP_ACP,0,wcBuf,i,&szBuf[j],MAX_PATH,NULL,NULL);
135     szBuf[i+j]=static_cast<char>(0);
136     SetCurrentDirectory(&szBuf[j]);
137 
138     i+=j;
139     if((szBuf[i-1]=='\\')||(szBuf[i-1]=='/'))
140         strcat(szBuf,"svn/");
141     else
142         strcat(szBuf,"/svn/");
143     for(i=0,j=strlen(szBuf);i<j;i++)
144     {
145         if(szBuf[i]=='\\')
146             szBuf[i]='/';
147     }
148 
149     GetCommandOutput(szBuf,msg,true);
150     MessageBox(NULL,msg.c_str(),"結(jié)果",MB_OK);
151 
152     return 0;
153 }
posted on 2011-12-28 13:59 shaker(太子) 閱讀(1010) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C++
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            一区二区不卡在线视频 午夜欧美不卡在 | 99热免费精品| 欧美日本在线| 中文日韩欧美| 亚洲欧美激情四射在线日| 国产亚洲欧美激情| 免费欧美日韩国产三级电影| 欧美成人激情视频| 亚洲性图久久| 午夜精品www| 亚洲电影免费在线| 亚洲日本成人女熟在线观看| 欧美视频在线一区二区三区| 久久久www成人免费精品| 久久噜噜噜精品国产亚洲综合| 99精品视频免费观看视频| 亚洲国产精品久久人人爱蜜臀 | 亚洲精品国精品久久99热| 欧美日韩国产精品专区| 午夜精彩国产免费不卡不顿大片| 性色av香蕉一区二区| 亚洲成色999久久网站| 一本色道88久久加勒比精品| 国产啪精品视频| 亚洲电影免费| 国产一区成人| 亚洲精品一二三区| 国产综合视频| 一本久久综合亚洲鲁鲁| 狠狠综合久久av一区二区小说| 亚洲日本国产| 亚洲第一主播视频| 亚洲在线免费观看| 日韩视频一区二区三区| 久久国产精品久久精品国产| aa日韩免费精品视频一| 久久久久久久久久久久久女国产乱 | 亚洲欧美视频在线| 免费在线亚洲| 久久男人资源视频| 国产精品国产福利国产秒拍| 免费人成网站在线观看欧美高清| 国产精品成人午夜| 亚洲人成高清| 亚洲高清三级视频| 久久久国产视频91| 久久国产日韩欧美| 国产精品黄视频| 亚洲国产一区视频| 亚洲国产婷婷综合在线精品 | 亚洲精品国久久99热| 狠狠色丁香婷综合久久| 亚洲欧美99| 亚洲欧美日韩国产另类专区| 欧美日韩ab片| 亚洲国产成人久久综合| 亚洲国产专区| 久久只精品国产| 久久久亚洲午夜电影| 韩曰欧美视频免费观看| 亚洲欧美日韩视频二区| 欧美一级欧美一级在线播放| 国产精品sm| 亚洲午夜日本在线观看| 亚洲尤物影院| 国产精品欧美久久| 亚洲综合二区| 久久青青草综合| 亚洲高清影视| 欧美顶级艳妇交换群宴| 亚洲黑丝在线| 夜夜嗨av一区二区三区网页| 欧美日韩精品二区| 亚洲少妇自拍| 欧美在线一级va免费观看| 国产乱码精品一区二区三区五月婷 | 国产精品视频一| 亚洲一区中文字幕在线观看| 欧美一区二区在线免费观看| 国产亚洲精久久久久久| 久久久久国内| 亚洲第一级黄色片| 亚洲午夜精品视频| 国产女人aaa级久久久级| 欧美制服丝袜| 欧美激情亚洲一区| 亚洲一区成人| 国产在线不卡| 欧美精品在线视频观看| 亚洲一区二区免费| 久久久久青草大香线综合精品| 精品999网站| 欧美精品videossex性护士| 一区二区三区四区国产| 久久精品五月婷婷| 亚洲精品人人| 国产日韩欧美三级| 欧美肥婆在线| 午夜精品免费| 亚洲精品视频免费| 久久性天堂网| 亚洲摸下面视频| 亚洲电影毛片| 国产精品系列在线播放| 美女视频黄 久久| 亚洲自拍偷拍视频| 亚洲人成在线影院| 久久精品1区| 一本一本久久a久久精品综合麻豆| 国产嫩草影院久久久久 | 亚洲无吗在线| 欧美激情一区二区久久久| 亚洲欧美另类中文字幕| 亚洲国产婷婷综合在线精品| 国产日韩成人精品| 欧美日韩国产一区二区| 久久久久久久国产| 亚洲欧美日韩一区| 99国产欧美久久久精品| 亚洲国产cao| 久久一区二区三区四区| 午夜精品美女久久久久av福利| 亚洲美洲欧洲综合国产一区| 黄色一区二区三区四区| 国产精品亚洲成人| 欧美少妇一区二区| 欧美激情第8页| 免费91麻豆精品国产自产在线观看| 亚洲欧美综合精品久久成人| 一本色道久久综合| 亚洲免费高清视频| 亚洲国产免费看| 亚洲第一在线综合网站| 老司机亚洲精品| 久久久蜜臀国产一区二区| 欧美在线亚洲| 久久不射网站| 久久国产黑丝| 久久蜜桃精品| 久久久久久久综合色一本| 久久精品天堂| 理论片一区二区在线| 久久久亚洲精品一区二区三区| 久久经典综合| 久久伊人亚洲| 欧美福利一区二区| 亚洲电影免费在线| 亚洲激情在线视频| 91久久精品一区二区三区| 亚洲国产精品专区久久| 亚洲日本欧美| 久久精品一区四区| 久久野战av| 蜜臀a∨国产成人精品| 蜜桃伊人久久| 亚洲精品1区| 亚洲视频福利| 西西人体一区二区| 久久青草久久| 欧美激情麻豆| 国产精品免费网站在线观看| 国产伦精品一区二区三区视频黑人 | 狠狠久久亚洲欧美专区| 亚洲激情视频网| 亚洲视频综合在线| 久久精品人人做人人综合| 美日韩在线观看| 亚洲日本精品国产第一区| 亚洲午夜av电影| 久久久精品国产免大香伊| 欧美夫妇交换俱乐部在线观看| 欧美日韩精品久久| 国产一区999| 亚洲免费高清| 久久精品天堂| 一本一本久久| 久久婷婷国产麻豆91天堂| 欧美日韩一区二区三区视频| 国产一区二区剧情av在线| 亚洲美女福利视频网站| 欧美一二三区在线观看| 欧美肥婆在线| 亚洲视频观看| 免费亚洲电影在线| 国产精品尤物| 洋洋av久久久久久久一区| 浪潮色综合久久天堂| 一区二区欧美国产| 免费看av成人| 国产一区二区三区直播精品电影 | 狠狠色狠狠色综合日日91app| 99日韩精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲一级在线观看| 另类酷文…触手系列精品集v1小说| 欧美日韩一二三区| 最新高清无码专区| 久久一区二区三区四区| 亚洲综合首页| 欧美日韩中文字幕精品|