ADBTool,类似PC豌豆荚工具


使用Vistual Studio 2015开发工具,通过ADB和Android设备通讯来控制android设备。安装、上传、下载、控制wifi等操作android设备。类似豌豆荚的PC工具。
资源截图
代码片段和文件信息
// ADB.cpp : 实现文件
//

#include “stdafx.h“
#include “ADBTool.h“
#include “ADB.h“
#include “shlwapi.h“

// ADB

IMPLEMENT_DYNAMIC(ADB CWnd)

ADB::ADB()
{
}

ADB::~ADB()
{
}


BEGIN_MESSAGE_MAP(ADB CWnd)
END_MESSAGE_MAP()

int ADB::SetTimeout(int nTimeout)
{
CString str;
str.Format(L“Set Timeout: %d(ms)“ nTimeout);
exeCmdTimeout = nTimeout;
return 0;
}

int ADB::GetVersion(char *version)
{
strcpy(version VERSION);
return 0;
}

int ADB::CheckExecResult(char *chResult)
{
//DeleteFile(EXECLOG);
char temp[1024] = {0};
int nRes = EXECLOG_NO_EXIST;
CFile mfile;
int nStartTime = GetTickCount();
bool oFlag = false;
int length = 0;
while(GetTickCount() - nStartTime < exeCmdTimeout)
{
oFlag = mfile.Open(EXECLOG CFile::modeRead);
if(oFlag)
{
nRes = 0;
break;
}
nRes = RET_TIMEOUT;
}
if(oFlag)
{
length = mfile.GetLength();
if (length <= 0)
{
return nRes;
}
else if(length > 1024)
{
mfile.SeekToBegin();
mfile.Seek(-1024 CFile::end);
}
mfile.Read(temp length > 1024 ? 1024 : length);
mfile.Close();
strcpy(chResult temp);
}
return nRes;
}


int ADB::ConnectToDevice(int nConnectTimeout int nExeCmdTimeout)
{
int RetCode = ERROR_CONNECT_DEVICE;
/*BOOL Res = PathFileExists(DEBUGLOG);
if(Res)
{
Res = dFile.Open(DEBUGLOG CFile::modeNoTruncate|CFile::modeReadWrite);
dFile.SeekToEnd();
dFile.Flush();
dFile.WriteString(L“
“);
dFile.WriteString(L“**********************************************************“);
dFile.WriteString(L“
“);
dFile.Close();
}
else
{
Res = dFile.Open(DEBUGLOG CFile::modeCreate|CFile::modeReadWrite);
dFile.Close();
}
if(!Res)
{
AfxMessageBox(L“Create Debug File Fail Test Terminated!“);
return RetCode;
}*/

exeCmdTimeout = nExeCmdTimeout;
int nStartTime = GetTickCount();
CFile myfile;
while(GetTickCount() - nStartTime < nConnectTimeout)
{
DeleteFile(EXECLOG);
WinExec(“cmd.exe /c adb devices >adb.txt 2>&1“ SW_HIDE);
char temp[1024] = {0};
CheckExecResult(temp);
if(CString(temp).Find(L“device“)>0)
{
int nPos = CString(temp).Find(L“device“);
if(CString(temp).Find(L“device“ nPos+1)>0)
{
RetCode = 0;
break;
}
}
Sleep(1000);
}
return RetCode;
}

int ADB::PushFile(char *localPath char *remotePath char *chResult)
{
int RetCode = ERROR_PUSH_FILE;
int nStartTime = GetTickCount();
char cmd[512] = {0};
sprintf(cmd “cmd.exe /c adb push %s %s >adb.txt 2>&1“ localPath remotePath);
CFile myfile;
char temp[1024] = {0};
while(GetTickCount() - nStartTime < exeCmdTimeout)
{
RetCode = ERROR_PUSH_FILE;
int res = ConnectToDevice(5000 exeCmdTimeout);
if(res)
{
RetCode = res;
sprintf(chResult CONNECT_FAIL);
return RetCode;
}
memset(chResult 0 256);
DeleteFile(EXECLOG);
WinExec(cmdSW_HIDE);
RetCode = CheckExecResult(temp);
if(CString(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-06 15:31  ADBTool
     文件         384  2017-08-02 14:39  ADBTool.gitignore
     目录           0  2017-12-06 15:09  ADBTool.vs
     目录           0  2017-12-06 15:09  ADBTool.vsADBTool
     目录           0  2017-12-06 15:09  ADBTool.vsADBToolv14
     文件      296448  2017-12-06 15:31  ADBTool.vsADBToolv14.suo
     目录           0  2017-12-06 15:31  ADBToolADBTool
     文件        1581  2017-07-11 15:53  ADBToolADBTool.sln
     文件      209920  2017-08-10 15:00  ADBToolADBTool.suo
     文件       18297  2017-08-18 16:44  ADBToolADBToolADB.cpp
     文件        2251  2017-08-18 16:38  ADBToolADBToolADB.h
     文件          24  2017-12-06 15:31  ADBToolADBTooladb.txt
     文件        9103  2017-08-18 17:27  ADBToolADBToolADBProcessThread.cpp
     文件         954  2017-08-18 17:26  ADBToolADBToolADBProcessThread.h
     文件       15488  2016-09-21 11:44  ADBToolADBToolADBReportDlg.cpp
     文件        1551  2016-09-22 10:35  ADBToolADBToolADBReportDlg.h
     文件       91340  2017-12-06 15:26  ADBToolADBToolADBTool.aps
     文件        2413  2016-09-09 11:22  ADBToolADBToolADBTool.cpp
     文件         563  2016-09-09 14:21  ADBToolADBToolADBTool.h
     文件       25233  2017-12-06 15:26  ADBToolADBToolADBTool.rc
     文件        5736  2013-03-08 14:29  ADBToolADBToolADBTool.vcproj
     文件        1418  2013-03-27 17:22  ADBToolADBToolADBTool.vcproj.QUANTACN.A1020075.user
     文件       12442  2017-08-18 16:53  ADBToolADBToolADBTool.vcxproj
     文件        9788  2017-08-18 16:53  ADBToolADBToolADBTool.vcxproj.filters
     文件         143  2013-04-18 20:21  ADBToolADBToolADBTool.vcxproj.user
     文件       68121  2017-11-30 16:15  ADBToolADBToolADBToolDlg.cpp
     文件        5112  2017-08-22 14:32  ADBToolADBToolADBToolDlg.h
     文件       97792  2016-08-04 16:20  ADBToolADBToolAdbWinApi.dll
     文件       62976  2016-08-04 16:20  ADBToolADBToolAdbWinUsbApi.dll
     文件          32  2013-03-11 10:54  ADBToolADBToolADB_Config.ini
     文件     3267634  2017-08-18 16:11  ADBToolADBTooladb_debug.log
............此处省略177个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)