C#的winform怎么样才能扫描访问到通过USB连接到电脑的手机文件路径

我做的winform通过USB读取手机指定文件,向手机指定文件夹中写文件。但是扫描不到手机盘符和盘符下的文件,通过文件选择控件选到的手机文件路径也都是电脑的临时文件路径。求高手解答

0

3个回答

WPD( Windows Portable Devices)

译作Windows 便携设备 (WPD) 是一种驱动程序技术,可支持广泛的可移动设备,比如移动电话、数码相机和便携媒体播放器。WPD 提供了标准化的基础结构,以实现应用程序和连接到正在运行 Windows 的 PC 上的便携设备之间的数据传输。WPD 还可为应用程序提供设备及其内容的统一视图以及标准化机制,从而获得访问数据的权限并对数据进行传输。

MTP(Media Transfer Protocol)模式

MTP模式是微软制订的一套媒体传输协议,由微软公司制定的在设备之间进行多媒体文件交换的通信协议,它实现的是把简单的文件复制变成一种协议性的传输方式。MTP既可以实现在USB协议上,也可以实现在TCP/IP协议上,它属于上层的应用协议,而不关心底层传输协议。目前大部分设备的应用都是基于USB协议。

PortableDeviceApiLib

这是微软提供的一个COM类库可以用于获取WPD设备的信息和进行MTP模式的文件传输

https://www.cnblogs.com/datacool/p/datacool_2017_WPD.html

http://blog.csdn.net/yu0zhuo/article/details/5728605/

我只试了下面的方法,其它的自己也没试。自己看看例子多试试。

例子中的PortableDeviceManagerClass 改为PortableDeviceManager,不知道是否为版本问题。

    public string EnumerateDevices()
    {
        PortableDeviceApiLib.PortableDeviceManager devMgr = new PortableDeviceManager();
        uint cDevices = 1;
        devMgr.GetDevices(null, ref cDevices);
        if (cDevices > 0)
        {
            string deviceIDs = "";
            devMgr.GetDevices(ref deviceIDs, ref cDevices);
            return deviceIDs;
        }
        return null;
    }
0

getdrivers获取所有的盘符,判断type是不是removeable的,然后再getfiles

0

android 常用adb 和 adb shell 命令 获取root权限。参考:http://blog.csdn.net/u013512708/article/details/46757997

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么打开手机的USB调试将手机连接到电脑
在日常生活中,我们有时可能会需要将手机连接到电脑上进行文件传输或数据备份。但是,手机与电脑是通过ADB模式连接,想要将手机连接到电脑,我们需要先激活开发者选项,然后打开手机上的USB调试。然而,不同版本的安卓手机,打开USB调试模式也有所不同,但是大致步骤是一样的,以下是如何打开手机USB调试的具体方法和操作步骤: 1.首先你需要进入手机的设置界面,然后找到关于手机,找到该手机的版本号,连续点击...
自动识别插入电脑设备的代码c#USB串口
C# CSharp 自动识别设备 USB 串口
如何连接手机和电脑,用电脑控制安卓手机
工具:电脑/手机/USB线一些Total Control用户在初次连接电脑和手机时,会遇到麻烦:无法连接手机,找不到“USB调试开关”,手机端无法安装APK,掉线,以及无法获取手机屏幕等等,实际上只需要进行一些小小的步骤,就可以轻松解决这些问题。步骤一:打开手机“USB调试”开关用 USB线连接手机与电脑时,在手机的“开发者选项“中打开“USB 调试”开关,这是通过手机授权,允许Total Con...
fiddler进行手机抓包的时候需要用数据线连接手机吗
fiddler进行手机抓包的时候不需要用数据线连接手机。 安卓手机通过Fiddler2代理上网教程
让手机访问电脑的tomcat
应用场景:做安卓项目,项目数据放在PC端的tomcat中,真机测试时,就需要访问让手机也能访问该数据。由于tomcat是在局域网中的,我们需要让手机与电脑处于同一网络中,即连接同一个无线信号即可。第一种:在无线网的情形下 步骤1:右下角打开无线网络图标,当前连接网络右键–状态–详细信息–ipv4地址就是当前网络的IP。 或者在cmd中ipcongfig也可看到。二:在项目中修改相关的的配置地址:
网络连接为NAT的虚拟机与电脑共享出WIFI间的联通
在网络连接方式为NAT的VMWARE虚拟机里面搭建了个Tomcat和MQSQL,android安卓的应用要访问数据库,但是手机使用从电脑共享出来WIFI因为不在同一个网段,无法访问虚拟机里面的地址。而虚拟机是可以ping通手机的,但是手机无法ping通虚拟机。让我很纠结,于是就试探性的使用了下面的办法。 具体IP如下: 1.虚拟机的IP为192.168.142.129 2.手机的IP为192...
VC++实现通过adb检测android设备是否连接到usb
一个小demo,使用c++检测是否有android连接到电脑。 实现方式是创建一对读写管道连接adb.exe和我们的程序。通过adb.exe 参数检测设备,我们程序来读取。
如何让手机访问电脑本地服务器的网页---超简单
超简单超实用 移动开发的前端来说,使用各种真机来进行自己网站进行查看是必要的。因此,会经常通过电脑开启一个 wifi 来供手机进行连接,形成一个小的局域网,然后就通过局域网的 ip 地址(查询 ip 地址,cmd——》ipconfig), 通过 ip 地址来进行自己本地服务器中的项目访问。这种方法十分的简单,下面我为大家一一介绍。 第一步:查看自己的电脑有没有安装IIS,随便打开一个浏览器,在...
C#通过adb传输安卓设备数据
最近因为项目需要,研究了一下C#调用adb传输和推送数据到安卓设备上。 查了资料发现安卓设备与电脑连接,传输数据有两种方式: 1.通过adb 2.socket。 市面上安卓设备管理工具如:豌豆荚、XX手机助手大多采用socket方式,监听某个端口,通过socket传输数据。socket优点是速度快,不会被语言和编码限制,缺点是开发量大,难懂(至少对于大多数开发者是这样的)。 下面介绍一下adb
winfrom读取二维码扫描头的数据(串口通信)
public class RQCodeComDevice { public delegate void EventHandleQRCode(string text); public event EventHandleQRCode DataReceivedQRCode; public SerialPort serialPort; ...
手机usb连接不上电脑win7系统(99%解决)
打开电脑上的驱动精灵或者驱动人生,然后检测是否缺失驱动,反正我是这样解决的。安装好之后,自动就连上了
手机连接电脑后,电脑上显示不出来手机的文件夹
每次把传输模式改成 传输文件后,自动变成 仅充电 找到开发人员选项,把“仅充电模式下允许adb调试”勾选上,然后再连接电脑就好了。电脑上显示出了手机。...
安卓设备投影到电脑PC端的简单实现
需求:安卓设备投影电脑PC 实现app讲解 缺点:不适用于游戏、直播等实时演示,会有1~2秒左右的延迟 优点:傻瓜式,解压缩按照教程一步一步来即可 前提:确保电脑安装过jdk  jdk请点击这里下载 投影工具请点击这里下载 1.解压缩 2.shift+右键 点击运行命令行 3.运行命令 java -jar asm.jar 4.选择设备进行演示(图示只有一个
手机通过USB3.0扩展坞也能连接到显示器、电视呢
很多人用过USB3.0扩展坞,用于扩展便携笔记本电脑接口。USB3.0的带宽足以胜任大部分使用场合,例如数据拷贝、视频信号传输、USB千兆网络以及读卡器等。 很多厂商都推出了USB3.0扩展坞,如联想、wavlink以及最新的Microsoft扩展坞等, USB外置显卡芯片厂商也不少,本文介绍的是来着英国的displaylink。 DisplayLink是一个通过USB接口实现
通过usb线ssh连接iPhone
下载usbmuxd源码包,解压 http://marcansoft.com/blog/iphonelinux/usbmuxd/http://cgit.sukimashita.com/usbmuxd.Git/ cd Python-client目录, chmod +x tcprelay.py 运行 ./tcprelay.py -t 22:2222 再起一个终端(commad+t), ssh root@l
怎么样判断有手机通过USB连接到电脑?
怎么样判断有手机通过USB连接到电脑? 怎么样捕获这一事件的? 谢谢。
手机连接到电脑
手机连接到电脑
本地主机如何访问虚拟主机服务器
1.在virtualBox上安装好ubuntu16.04后,确认网络情况 ping www.baidu.com -c 5 2.确保虚拟主机与宿主机在同一个网段,如果虚拟主机服务器IP地址是192.168开头说明同一个网段,如果虚拟主机的IP地址是10.开头说明不在同一个网段。需要配置虚拟主机网络。 ifconfig 3.如果虚拟主机服务器与宿主机不在同一个网段,进入虚拟机主机,点击
微信小游戏跳一跳破解软件
该软件通过安装在电脑上,并需一并安装adb,然后用安卓手机通过数据线连接到电脑,启动手机的usb调试,打开游戏即可
USBTool(usb测试工具)
用来测试USB有没有连接到电脑。有没有MP3之类的电器连接到电脑。
手机通过USB访问电脑部署tomcat应用
1.设置-〉个人热点-〉打开USB共享手机网络 2.确认已经安装手机驱动(可以通过豌豆荚安装手机驱动)   可以通过计算机-〉管理-〉设备管理器 查看 3.关闭电脑其余网络连接。 4.关闭电脑防火墙。(必须) 5.打开cmd,运行ipconfig查看本机ip。 6.运行tomcat后在手机浏览器中输入ip地址就行了。 7.手机断网。(不断也行,如果电脑显示
ubuntu 手机连接不到电脑,配置
有时候不知道什么原因,到时ubuntu电脑无法识别连接的手机设备,导致开发无法继续,以下步骤可以尝试以下    lsusb获取  设置的id,2b0e:1768 1、创建adb_usb.ini文件,写入id echo 0x2b0e> ~/.android/adb_usb.ini      //2b0e是前面的id号 2、添加权限 sudo vim /etc/udev/ru
Nikon相机连接电脑,通过桌面软件控制相机,附件是SDK,C#语言,可供二次开发。包括视频,连拍,单拍,有C#,VB例子
Nikon相机连接电脑,通过桌面软件控制相机,附件是SDK(连接相机用),已经用C#语言包装好,可供二次开发。附件有视频SDK,连拍SDK,单拍SDK,图片优化,有C#,VB例子
PC通过USB连接Android通信(Socket)
Android端Socket服务器 /** * Created by Jack Stone on 2016/11/17. * Socket服务器,PC可以通过USB连接、ADB端口映射连接本服务器,不需要通过Wifi和网络 */ public class TCPConnect implements Runnable { private static final String TA
不连接usb对手机进行操作(设置步骤)
import subprocess import re #1.电脑和手机连接的wifi处于同一个网段;2.手机连接usb后运行脚本。断开usb可继续操作手机 class Connection(object): def connect_adb_tcpip(self): adb_tcpip=subprocess.Popen('adb tcpip 5555',stdout=...
Mac:VMware 虚拟机 连接手机
以mac 为例:让 VMware 连接手机,点击虚拟机-USB和蓝牙-选择你要连接的手机。 有时候会出现在USB和蓝牙中找不到 你手机的情况,请关闭iTunes,重新插拔连接。 ...
C#Winform连接摄像头
如何使用摄像头提供的接口进行二次开发
安卓手机测试的时候访问电脑上的数据库,后台数据操作,服务器操作,……
因为手机ip不一致,需要对mysql进行设置
解决华为荣耀6连接电脑时,找不到“USB连接方式”的问题
华为荣耀6与电脑连接时,一般会跳出“USB连接方式”供用户选择。如下图所示: 现在与电脑连接时,手机不会跳出“USB连接方式”,只会充电,无法拷贝文件到手机内存。 原因:有一次将连接方式改成【仅充电】选项,并点了不再提示。 解决方法: 1.插好数据线,拨号界面 输入 *#*#2846579#*#* 进入工程模式 2.projectmenu→后台设置→USB端口配置→选择google模
使用java对电脑USB接口演示
使用java对电脑USB接口演示 1.首先创建USB接口 package com.zr; //USB接口 public interface USB { //打开设备 void open(); //关闭设备 void close(); } 2.创建鼠标对象实现USB接口 package com.zr; //鼠标 public class Mouse i...
小米手机通过USB连接电脑,共享使用电脑的网络
1,小米手机 -> 设置 -> 网络和连接 -> 其它连接方式 -> 网络热点 -> USB网络共享(开启) 2,在电脑中安装小米手机助手,手机通过USB连接电脑后,在电脑的“网络和共享”中会自动出现一个虚拟的本地连接× 3,设置虚拟本地连接:IP地址(跟电脑联网的连接IP在同一网段,其它都跟实际本地连接相同)、子网掩码、网关、DNS 4,设置本地网络连接共享(需要先启动“B
linux 连接手机usb不弹出文件夹
在做开发的时候,手机usb连接不稳定,经常重新连接跳出来文件夹,很是烦人。执行下面的命令不会弹出gsettings set org.gnome.desktop.media-handling automount-open false...
C#Winform控制电脑USB摄像头
Winform程序,控制电脑USB摄像头,亲自验证,百分百可用,控制摄像头拍照,视频操作。
Android如何进行连接真机进行测试
第一步:打开手机的开发者选项然后打开里面的usb调试第二步:手机用数据线连接电脑usb接口,然后在电脑端下载电脑版的360手机助手,下载安装完之后手机端会自动安装360手机助手,同时会在手机端安装驱动,这样驱动就安装好了第三步:在eclipse中找到window--showView--other--Devices,然后右击项目--run as就可以在真机上进行测试了。...
如何将手机wifi网络通过USB共享给电脑使用
安卓版的wifi万能钥匙确实很好用,但是电脑版的真心有些坑,现在给大家介绍一下如何通过手机wifi万能钥匙给电脑连上网。1、打开手机,用WiFi万能钥匙连接好无线网。2、之后,点击“设置”-->"更多设置“-->”开启“开发者选项”-->勾选“USB调试”。3、确定后,用USB数据线连接手机和电脑。这时电脑会自动安装手机驱动若是未自动安装,点击手机所在磁盘,其中有个Setup安装...
unity通过usb连接艾茉森IQ-100电钢琴并接收发送键消息(pc,android,ios)
unity通过usb连接艾茉森IQ-100电钢琴实现交互,支持pc,安卓,ios端,可直接打包测试。附有demo场景。可连接midi键盘与电钢琴实现收发按键消息。并支持电钢琴的开灯与静音功能。亲测艾茉森IQ-100电钢琴可用,其他钢琴没测过不清楚。开发工具unity2018.2.16,请用这此版本或以后版本打开。
Android 如何判断手机处于电源充电状态还是USB连接状态?
IntentFilter ifilter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED); Intent batteryStatusIntent = registerReceiver(null, ifilter); //如果设备正在充电,则您可以提取当前的充电状态和充电方式(无论是通过 USB 还是交流充电器),如下所示:// Are we cha
华为荣耀3C刷官方recovery工具
请确保荣耀3C已 Root 请将手机通过USB连接线连接到电脑 请进入设置-开发人员选项-勾选USB调试 请正确安装驱动!
vs2015 C#实现usb虚拟串口自动识别和重新连接
主要接口 GetPortNum   获取虚拟串口所在的COM端口号 DeletePort      删除指定的虚拟串口 Rescan           重新扫描硬件(在DeletePort之后调用) 主要问题 1 在做DeletePort的时候,SetupDiCallClassInstaller返回false,使用GetLastError发现错误码为E0000235 已解决,将Pla
(详细)华为畅享8plus FLA-AL20的Usb调试模式在哪里开启的教程
就在我们使用电脑链接安卓手机的时候,如果手机没有开启USB开发者调试模式,电脑则无办法成功检测到我们的手机,在一些情况下,我们使用的一些功能较好的应用软件比如以前我们使用的一个应用软件引号精灵,老版本就需要开启USB开发者调试模式下使用,现就在新版本不需要了,这时候我们需要找解决方法将手机的USB开发者调试模式开启,这里我们记录一下华为畅享8plus FLA-AL20如何开启USB开发者调试模式的...