一键升级 ME860 CWM recovery

      最近看到Android 手机用户,不知道怎么升级CWM,故此写了一个升级的工具.

 首先看看升级CWM的步骤。

1. 先要现在对应recovery.img, 这个地方就是http://www.clockworkmod.com/rommanager

2. 现在fastboot 工具包,随便搜索一下。

3. 使用命令 fastboot  flash recovery  recovery.img  就可以了,只要保证这些文件在同一个目录下,但是刷机之前,一定要进入fastboot 模式。

将这些写入一个window 程序那么就如下:

1. 启动一个进程。

BOOL LaunchProcess(CString &strCmd,  CString& strWorkPath, BOOL bShow = FALSE, BOOL bWait = FALSE )
{
	LPCTSTR lpWorkPath = NULL;
	if ( !strWorkPath.IsEmpty() )
	{
		lpWorkPath = strWorkPath.GetBuffer( strWorkPath.GetLength() );
	}

	STARTUPINFO StartInfo = { sizeof(StartInfo)};
    StartInfo.dwFlags = STARTF_USESHOWWINDOW;
	StartInfo.wShowWindow = SW_HIDE;
	if ( bShow )
	{
		StartInfo.wShowWindow = SW_SHOW;
	}

	PROCESS_INFORMATION PiThis = {0};
	BOOL bRetCode = CreateProcess(
		NULL,
		strCmd.GetBuffer( strCmd.GetLength() ),
		NULL,
		NULL,
		FALSE,
		0,
		NULL,
		lpWorkPath,
		&StartInfo,
		&PiThis);
	if ( !bRetCode )
	{
		return FALSE;
	}
 
	strCmd.ReleaseBuffer();
	if (!strWorkPath.IsEmpty())
	{
		strWorkPath.ReleaseBuffer();
	}

	if ( bWait )
	{
		WaitForSingleObject( PiThis.hProcess, -1);
	}
	
	DWORD dwCode = 0;
	GetExitCodeProcess(PiThis.hProcess, &dwCode);

	CloseHandle( PiThis.hProcess );
	CloseHandle( PiThis.hThread );

	if ( dwCode == 0 )
	{
		return TRUE;
	}

	return FALSE;
}
2. 从资源中将文件释放出来

BOOL ReleaseFile( CString strFileName, UINT uID )
{
	HRSRC hResource = FindResource( NULL, MAKEINTRESOURCE(uID), _T("EXE"));
	DWORD dwSize = SizeofResource( NULL, hResource );
	HGLOBAL hGlobal = LoadResource( NULL, hResource );
	LPVOID pBuffer = LockResource( hGlobal );
	CAtlFile TheOutFile;
	TheOutFile.Create( strFileName, GENERIC_WRITE, FILE_SHARE_READ| FILE_SHARE_WRITE,
		CREATE_ALWAYS);
	TheOutFile.Write(pBuffer, dwSize);
	TheOutFile.Close();

	return TRUE;
}
真正的过程

ReleaseFile( m_strFastBoot, IDR_EXE_FASTBOOT );
	ReleaseFile( m_strImg, IDR_EXEIMG );
	BOOL bRetCode = LaunchProcess( m_strCmd, m_strWorkPath, FALSE, TRUE );
	DeleteFiles();
	if ( bRetCode )
	{
		AfxMessageBox(_T("CWM  更新成功!"));
	}
	else
	{
		AfxMessageBox(_T("过程中有错误,请再来一次!"), MB_OK | MB_ICONERROR);
	}


该工具的位置在http://download.csdn.net/detail/zwh37333/4279271

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值