资源简介
使用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“\r\n“);
dFile.WriteString(L“**********************************************************“);
dFile.WriteString(L“\r\n“);
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\.vs\ADBTool\
目录 0 2017-12-06 15:09 ADBTool\.vs\ADBTool\v14\
文件 296448 2017-12-06 15:31 ADBTool\.vs\ADBTool\v14\.suo
目录 0 2017-12-06 15:31 ADBTool\ADBTool\
文件 1581 2017-07-11 15:53 ADBTool\ADBTool.sln
文件 209920 2017-08-10 15:00 ADBTool\ADBTool.suo
文件 18297 2017-08-18 16:44 ADBTool\ADBTool\ADB.cpp
文件 2251 2017-08-18 16:38 ADBTool\ADBTool\ADB.h
文件 24 2017-12-06 15:31 ADBTool\ADBTool\adb.txt
文件 9103 2017-08-18 17:27 ADBTool\ADBTool\ADBProcessThread.cpp
文件 954 2017-08-18 17:26 ADBTool\ADBTool\ADBProcessThread.h
文件 15488 2016-09-21 11:44 ADBTool\ADBTool\ADBReportDlg.cpp
文件 1551 2016-09-22 10:35 ADBTool\ADBTool\ADBReportDlg.h
文件 91340 2017-12-06 15:26 ADBTool\ADBTool\ADBTool.aps
文件 2413 2016-09-09 11:22 ADBTool\ADBTool\ADBTool.cpp
文件 563 2016-09-09 14:21 ADBTool\ADBTool\ADBTool.h
文件 25233 2017-12-06 15:26 ADBTool\ADBTool\ADBTool.rc
文件 5736 2013-03-08 14:29 ADBTool\ADBTool\ADBTool.vcproj
文件 1418 2013-03-27 17:22 ADBTool\ADBTool\ADBTool.vcproj.QUANTACN.A1020075.user
文件 12442 2017-08-18 16:53 ADBTool\ADBTool\ADBTool.vcxproj
文件 9788 2017-08-18 16:53 ADBTool\ADBTool\ADBTool.vcxproj.filters
文件 143 2013-04-18 20:21 ADBTool\ADBTool\ADBTool.vcxproj.user
文件 68121 2017-11-30 16:15 ADBTool\ADBTool\ADBToolDlg.cpp
文件 5112 2017-08-22 14:32 ADBTool\ADBTool\ADBToolDlg.h
文件 97792 2016-08-04 16:20 ADBTool\ADBTool\AdbWinApi.dll
文件 62976 2016-08-04 16:20 ADBTool\ADBTool\AdbWinUsbApi.dll
文件 32 2013-03-11 10:54 ADBTool\ADBTool\ADB_Config.ini
文件 3267634 2017-08-18 16:11 ADBTool\ADBTool\adb_debug.log
............此处省略177个文件信息
- 上一篇:Android贪吃蛇游戏_工程源码
- 下一篇:rt.jar常用Jar包
相关资源
- 高清彩版 Android Studio 3.0 Development Es
- android studio 陀螺仪 demo 源代码
- android studio指南针
- Android studio各地天气查询
- Android studio下就纯代码简易计算器
- 安卓手机通用adb驱动UniversalAdbDriver官
- android studio课程设计作业PPT+设计文档
- AndroidStudio蓝牙接收数据绘图
- Android实现的一对一聊天(socket),包
- 2048游戏代码,可用android studio打开
- android studio 记步demo
- AndroidStudio集成Zxing实现扫一扫demo
- AndroidStudio实现QQ登录
- Android Studio学生信息管理系统
- 速记app,最新版,可,在android studi
- Android Studio课设,简单的打地鼠,包括
- Android Studio 导航栏开发 BottomNavigatio
- Android studio 安卓通讯录开发
- android studio写的ping程序app
- 基于mysql-android studio-web服务器实现简
- AndroidStudio文本图片视频笔记本.zip
- [Android Studio应用开发——基础入门与
- 简易的2048游戏(AndroidStudio3.3)
- Android 移动开发——打地鼠Android Stu
- 蓝牙坐标控制
- 蓝牙遥控控制智能小车AndroidStudio参考
- Ranorex Studio 9.0.0.7z
- 2048Game.zip
- 基于AndroidStudio设计的百度地图
- Music_List.zip
评论
共有 条评论