首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>C/C++>C++>vc命令行调用winrar.exe进行文件解压代码
vc命令行调用winrar.exe进行文件解压代码
来源: 发布时间:2008-03-11 发布人: 浏览: 人次   字体: [ ]  

那天在写个东西的时候要先解压文件,呵呵,虽然这个算法到处都有,但是客户都使用windows操作系统,所以就想到我winrar,不就结了.余是就先查看了一下它的帮助文件,先把它在命令行下的参数搞懂 于是就开始调用,先想到的是shell .但是后来突然发现它对中文的情况支持有问题,哎,我也不晓得该怎么整,于是改了种方法.程序代码片段如下:

int icount=m_LC.GetItemCount();
// CString cmd_str;
// cmd_str="C:\Program Files\WinRAR\WinRAR.exe";
// cmd_str=cmd_str+" e ";
// cmd_str=cmd_str+"C:\aa.zip";
// cmd_str=cmd_str+" C:\aa\";
//system(cmd_str);
//::she
m_progress.SetRange(1,icount);
for(int i=0;i<icount;i++)
{
//cmd_str=" ";
//cmd_str="c:\\Program Files\\WinRAR\\WinRAR.exe e ";
//cmd_str+=file_list.GetItemText(i,1);
//cmd_str+=" ";
//cmd_str+=Get_drection(file_list.GetItemText(i,1));
//cmd_str+="\\";
//MessageBox(cmd_str);
//::ShellExecuteEx(cmd_str);
//::system(cmd_str);
//this->m_test=cmd_str;
if(check(m_LC.GetItemText(i,1)))
{
CString str="\""+m_LC.GetItemText(i,1)+"\"";
str+=" \""+Get_drection(m_LC.GetItemText(i,1))+"\\\"";
str=get_direct()+" x -o+ -IBCK "+str;
PROCESS_INFORMATION   pidInfo;
STARTUPINFO     startInfo;
BOOL b;
char *buf=" ";
startInfo.cb           =   sizeof(STARTUPINFO);
startInfo.lpReserved   =   NULL;
startInfo.lpTitle     =   NULL;
startInfo.lpDesktop   =   NULL;
startInfo.dwX         =   0;
startInfo.dwY         =   0;
startInfo.dwXSize     =   0;
startInfo.dwYSize     =   0;
startInfo.dwXCountChars     =   0;
startInfo.dwYCountChars     =   0;
startInfo.dwFlags     =   STARTF_USESTDHANDLES;
startInfo.wShowWindow   =   0;   //SW_SHOWDEFAULT;
startInfo.lpReserved2   =   NULL;
startInfo.cbReserved2   =   0;
startInfo.hStdInput   =   GetStdHandle(STD_INPUT_HANDLE);
startInfo.hStdOutput   =   GetStdHandle(STD_OUTPUT_HANDLE);
startInfo.hStdError   =   GetStdHandle(STD_ERROR_HANDLE);  
b=CreateProcess(NULL,str.GetBuffer(0),NULL,NULL,TRUE,CREATE_NO_WINDOW,NULL,NULL,&startInfo,&pidInfo);
if(!b){
  AfxMessageBox("failed");
  return;
}
str.ReleaseBuffer();
WaitForSingleObject(pidInfo.hProcess,INFINITE);
CloseHandle(pidInfo.hProcess);
CloseHandle(pidInfo.hThread);
}
else
{
MessageBox("该文件非压缩文件哦::"+m_LC.GetItemText(i,1));
}
m_progress.SetPos(i+1);
搞定,没发现怎么问题 呵呵 : )


相 关 文 章   发布商链接
·基于C++的DES加密算法实现代码实例
·什么是单例模式?C++中单例模式对象的...
·C++语言中多重继承下的虚函数调用
·c++获取Windows 2000/XP操作系统的安...
·实例讲解C++中CopyFileEx函数的简单...
·VC++编写交互程序时将打印结果输出到...
·C++中regex库中静态正则表达式库的好...
·c++实现获取IE缓存文件夹中的文件路...
·如何在C++中创建持久对象的方法
·如何在C++中将数据库数据分行和列保...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·如何在C++中创建持久对象的方
·c++实现获取IE缓存文件夹中的
·C++中regex库中静态正则表达...
·VC++编写交互程序时将打印结...
·实例讲解C++中CopyFileEx函数
·c++获取Windows 2000/XP操作...
·C++语言中多重继承下的虚函数
·什么是单例模式?C++中单例模...
·基于C++的DES加密算法实现代...
·C++计算含括号四则表达式的模
·C++程序中内存划分介绍
·vc读取XML文件中的文本代码
·祥解C++中的this指针
·在Linux下验证日期是否合法
·C++实现仿Office风格的颜色选
热 门 文 章
·基于C++的DES加密算法实现代...
·实例详细介绍各种字符集编码...
·vc读取XML文件中的文本代码
·祥解C++中的this指针
·C++中regex库中静态正则表达...
·C语言程序设计入门学习六步曲...
·VC++编写交互程序时将打印结...
·C++语言中多重继承下的虚函数...
·实例讲解C++中CopyFileEx函数...
·C++实现RGB和HSL颜色转换代码...
·C++不是万能的
·c++实现获取IE缓存文件夹中的...
·什么是单例模式?C++中单例模...
·谈谈对C和C++中include指令的...
·C++程序中内存划分介绍
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .