作者:太阳下的泪
转自:http://blog.sina.com.cn/s/blog_5be1061c0100baq9.html
今天碰到一个总是,用了一家GPS的模块,需要安装驱动程序到WINDOWS目录下,这个GPS模块省了一个FLASH,把模块的驱动程序放在外面,就只有每次在开机时自动安装驱动程序了.在安装过程中要在后台运行.现在用到下面这个程序:
if(PlatformID == S3C2416)
{
int Copyfile_ret;
SHELLEXECUTEINFO OpenFileInfo;
BOOL LOpenfile;
ZeroMemory(&OpenFileInfo,sizeof(OpenFileInfo));
if(CheckGpsConfigFile(hWnd) == false)
{
OpenFileInfo.cbSize =sizeof(SHELLEXECUTEINFO); //结构体大小
OpenFileInfo.fMask =SEE_MASK_FLAG_NO_UI; //如果文件不能打开,不弹出错误对话框
OpenFileInfo.hwnd = hWnd;
OpenFileInfo.lpVerb =TEXT("Open"); //打开文件,如果未定义,默认为OPEN
OpenFileInfo.lpFile =UrlSrc_Install;//需要安装主CAB文件路径
//OpenFileInfo.lpParameters=;//安装到的位置
OpenFileInfo.nShow = SW_HIDE;//放后台
LOpenfile =ShellExecuteEx(&OpenFileInfo);
if(LOpenfile == 0)
{
DWORD Errret= GetLastError();
}
}
SHFILEOPSTRUCT copyfile; //拷贝控制面板配置文件
copyfile.hwnd = hWnd;
copyfile.wFunc = FO_COPY; //FO_COPY, FO_MOVE, FO_DELETE
copyfile.fFlags = FOF_NOCONFIRMATION;
copyfile.pFrom = UrlSrc_Config_Orion;
copyfile.pTo = UrlDest_Config_Orion;
copyfile.lpszProgressTitle = TEXT("正在复制文件……");
Copyfile_ret =SHFileOperation(©file);
if(Copyfile_ret != 0)
{
DWORD Errret =GetLastError();
}
}