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

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

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;
    }

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

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
怎么样判断有手机通过USB连接到电脑?
怎么样判断有手机通过USB连接到电脑? 怎么样捕获这一事件的? 谢谢。
怎么样才能访问到st.a?
class strn int a=0;rn static public void main(String args[])rn st qq=new st();rn // a=1;a=2;a=3;rn A s=new A();rn// System.out.println(a);rn cs e=new cs();rn rn rnclass csrnrn cs()rn System.out.println(A.b);rn oo();rn rnvoid oo()rn System.out.println(st.a);rn rnrnrnclass Arn static int b=10;rn
手机连接到电脑
手机连接到电脑
Ajax 访问到错误文件路径
[img=http://img.my.csdn.net/uploads/201302/20/1361331905_1469.jpg][/img]rn如图,本来是要访问CMS/CmsHandler.ashxrn执行页面后却访问到了EMS/EMSHandler.ashxrn请问我是不是哪里有设置错误
怎么打开手机的USB调试将手机连接到电脑
在日常生活中,我们有时可能会需要将手机连接到电脑上进行文件传输或数据备份。但是,手机与电脑是通过ADB模式连接,想要将手机连接到电脑,我们需要先激活开发者选项,然后打开手机上的USB调试。然而,不同版本的安卓手机,打开USB调试模式也有所不同,但是大致步骤是一样的,以下是如何打开手机USB调试的具体方法和操作步骤: 1.首先你需要进入手机的设置界面,然后找到关于手机,找到该手机的版本号,连续点击...
C#怎么才能访问到WORD
我是2000系统,OFFICE2000,我希望使用WORD模板,通过C#WEB方式向模板里的域填值。rn以下是我尝试的代码,但是总是运行有错,提示‘服务器出现异常’。rn object MissValue = Missing.Value;rn Word.ApplicationClass oWordApp = new Word.ApplicationClass();rn oWordApp.Visible = true;rn object oTemplate = "e:\\dot1.dot";rn Word.Document oWordDoc = oWordApp.Documents.Add(ref oTemplate, ref MissValue,ref MissValue, ref MissValue); (就是错在这句上)rn object oBookMark = "name1";   //模板里有个名为‘name1’的域rn oWordDoc.Bookmarks.Item(ref oBookMark).Range.Text = "Some Text Here";rn oWordDoc.Save();rn oWordDoc.Close(ref MissValue,ref MissValue,ref MissValue);rnrn实在没找到什么详细的资料可以参照,还希望高手们指点一下
请教如何编程通过USB接口连接到手机?
如题:rnrn手机型号:摩T720irnrn请各方高手指点一二,谢谢rn
WinForm检测设备是否连接到电脑?
rnrn求助:WinForm中如何检测iPhone手机是否连接到电脑?rnrn有什么方法或相关的API?rn
手机连接到电脑上网的方法
手机连到电脑上的方法,可以教您如何用你您的手机就可使用电脑上网
MAC 无法通过数据线连接到手机
原本准备了一台 魅族手机进行游戏测试,连接数据线后却无法显示手机连接状态 (exlipse下始终不能显示手机连接状态) 解决方案如下: 1. 在 Android 的 sdk/tools 路径下终端执行命令 android update adb 完成后在路径 /Users/username/.android 下会看到 adb_usb.ini 文件 (username : 你自己的电脑...
手机连接到安卓设备
安卓系统手机连接到安卓系统的设备,windows系统的电脑连接到安卓系统的设备,手机、设备同屏玩耍
怎么样才能访问到链表上的某个元素?
比如rnstruct arnrnint aa;rnchar ab;rna *next;rn;rnrna *ptr;rnrn如果要访问以ptr开头的链表的第三个元素,除了ptr->next->next就没有别的办法了吗?
请问数据库怎么样设置才能被访问到
我是在客户端直接访问数据库,还是说要先通过服务器这个环节?如果是直接访问数据库,那么我数据库需不需要一直开着?或者怎么样?如果需要通过服务器,那又要怎么操作?
树莓派使用USB数据线连接到手机的USB共享上网
使用USB数据线连接到手机的USB共享上网 方法如下: (1)使用USB数据线连接手机和派 (2)打开手机中的“USB共享网络” (3)设置派的网络 刚开始我设置DHCP,但无法获取IP,我就用我的WIN8平板连接了手机,获得IP后发现是: 192.168.42网段的,网关是42.129,知道这些后,在派上配置一下即可: root@rpi:/etc/network# nano i
C#怎么样连接到db2上面啊!?
我要通过db2的客户端连接到远程的db2数据库上面,obdc连接怎么写?
如何才能访问到 controls.ControlAtomString变量
如何才能访问到 controls.ControlAtomString变量,在不修改contorls.pas的前提下rnrnusesrn Windows,rn SysUtils,rn Classes,rn Controls;rnrn$R *.resrnrnfunction MyFindControl(Handle: HWnd): TWinControl;rnbeginrn ControlAtomString:=WindowAtomString;rn ControlAtom:=WindowAtom;rn Result:=FindControl(Handle);rnend;rnrn编译器提示ControlAtomString未定义rn[DCC Error] Project1.dpr(24): E2003 Undeclared identifier: 'ControlAtom'rn[DCC Error] Project1.dpr(24): E2003 Undeclared identifier: 'WindowAtom'
c#多线程如何才能访问到主线程内的变量?
winform中有个长时间工作需要由多线程技术完成,由于时间较长,希望在form上有个进度条来显示进度,在子线程中完成一定工作后、提供完成比例通知主线程上的进度条,但是工作失败了。通知说两个线程之间不能访问?rn大家在实现如上功能的时候是通过什么方式来实现的?
手机通过USB共享电脑宽带
请问大家有没有办法可以让安卓手机通过USB连接电脑从而共享电脑端的宽带?注意,不要手机root
C#连接到WMI
rn我想问下C#连接WMI 如何把EXE文件通过16进制方式传送到对方主机上 在转换成EXE文件 运行呢?rnrn如果是用CMD命令 那该怎么写?rnrn如果不用CMD命令 那又该怎么写?rnrnmethodParameters["CommandLine"] = "写入16进制文件再转换成EXE文件(PE文件了)在运行PE文件"
C#连接到数据库
小弟刚刚开始学用C#来实现对数据库的连接访问。老师给了一段代码rnrnnamespace AdoTestrnrn public partial class Form1 : Formrn rn rnrnrn private SqlDataReader dr;rn private DataSet ds;rn private BindingSource bs;rnrn public Form1()rn rn InitializeComponent();rn ds = new DataSet();rn bs = new BindingSource();rn rn private void ChuShiHua()rn rn string ssql= "select * from student";rnrn //SqlCommand cmd=new SqlCommand(ssql,cn);rnrn SqlDataAdapter ad = new SqlDataAdapter(ssql,ConfigurationManager.ConnectionStrings["connString"].ConnectionString);rn rn ds.Clear();rn ad.Fill(ds, "student");rn rn //textBox2.Text = ds.Tables["student"].Rows[0]["sname"].ToString();rn bs.DataSource = ds;rn bs.DataMember ="student";rnrn bindingNavigator1.BindingSource = bs;rn dataGridView1.DataSource = bs;rnrn rn //dataGridView1.DataSource = ds.Tables["student"];rn //textBox1.DataBindings.Add("Text", ds.Tables["student"], "sno");rn //bindingSource1.DataSource = ds.Tables["student"];rn //bindingNavigator1.BindingSource=new BindingSource(ds,"student");rn //bindingNavigator1.BindingSource.DataMember="student";rn rnrnprivate SqlDataReader dr;rnprivate DataSet ds;rnprivate BindingSource bs;rn不明白这三行的作用,为什么要放在开头以及用PRIVATE,求大神解答,谢谢!
c#连接到Mysql
下载mysql-connector-net-6.6.7-noinstall.zip,上这个网站:http://dev.mysql.com/downloads/connector/net/6.6.html#downloads,版本看下面的图。 然后进入压缩包中进入tmp文件夹中,解压一个文件夹到自己选定的文件夹 我选的是v4; 然后进入vs2012中,点 视图 中的 解决方案资源管
手机连电脑上网
回家以后没有网上不了网 就可以用这个软件连在电脑上上网 而且不需要开通3G网络
手机连电脑必备软件
手机连电脑必备软件 手机连电脑 手机连电脑的软件 IVTBlueSoleil蓝牙驱动管理软件 动感大挪移 服务器流量监控软件
手机连电脑wifi.txt
手机连电脑wifi.txt手机连电脑wifi.txt
电脑连手机上网
给大家发一个电脑连手机上网的资源 亲测可用 只要在电脑跟手机上各装一个软件就ok了 安卓手机适用
如何用c#识别通过数据线连接到电脑的手机?并读取指定文件
就是将连接到电脑的手机看作是U盘,然后读取数据,应该如何检测并读取文件?先谢谢各位了rn
性能的计数器怎么样才能连接到其他机器
帮我找找在win2000的控制面板——管理工具中性能的计数器怎么样才能连接到其他机器rnrn按照要求要安装网络监视器驱动程序,也安装了,还是不行
USB方式连接到电脑 如何获得设备名字?
使用 adb device 获得的是以下的名字rn[img=https://img-bbs.csdn.net/upload/201510/17/1445051222_543731.png][/img]rnrn在安卓端 如何获得这个连接名字?或者如何设置为一个自己指定的名字?
Android如何探测USB连接到电脑上?
如题
怎么把android系统不用usb连接到电脑进行调试
怎么把android系统不用usb连接到电脑进行调试
如何让互联网上的电脑访问到局域网中的电脑
局域网有其自身的IP地址,而互联网上的电脑如果知道这个局域网的入口IP地址,如何才能与局域网中的一台电脑通讯。rn给出一些理论知识也行,谢谢
通过代理服务器连接到cvsnt
我们公司因业务关系,全国都有同事在现场开发,为了源码版本控制,我们使用了cvs来管理。在internet上,如果不通过代理,直接连接是没有问题的,但有些客户条件有限,通过代理访问internet,cvs客户端wincvs也提供了通过代理连接的设置。但实际应用中遇到了问题。我要登陆的时候出现如下错误提示。请高手分析分析。是哪边的端口不支持。谢谢!rncvs [login aborted]: the :pserver;proxy=188.188.188.4;proxyport=808: access method is not supported by this port of CVSrnrn
不同网段的电脑,连接到集线器上,数据怎么样传输?
不同网段的电脑,连接到集线器上,数据怎么样传输?rnrn因为,集线器把收到的数据传送到集线器的所有端口上,rnrn所以,请教下,不同网段的数据通过集线器是怎么样传输的?
请教:手机通过数据线连接到电脑,通过com口发短信,发一条要多长时间?
我想将手机用数据线通过com口连接到电脑,然后在电脑上用AT命令来发送短信,发一条一般需要花多少秒?rn 什么方式发短信最快?是不是通过电信的短信网关?他怎么收费?或者我怎么申请?请教各位!rn 急!拜托了!rn
两个MW手机如何连接到同一台电脑 ???
如果两个MW手机都要连接到同一台电脑上(如:通过蓝牙), 可电脑上的ActiveSync只能连接一个 , rn有什么办法能够实现吗?
菜鸟问题:如何才能连接到Sybase数据库,通过SQL获取数据?
局域网中两台机器,一台安装了Sybase(windows)数据库,另一台机器想通过网络连接到该Sybase数据库中,然后使用SQL取出希望的数据。rnrn本人从来没有接触过Sybase数据库,希望了解如何才能实现数据库的连接,比如,第一步,是否需要在机器上安装Sybase client端软件?有什么特别的配置要求没有?以及连接的字符串是什么?rnrn请大家赐教,谢谢!
win7通过蓝牙手机GPRS连接到Internet
win7通过蓝牙手机GPRS连接到Internet(2) win7通过蓝牙手机GPRS连接到Internet(2)
手机通过数据线连接到PC,可是无法识别server
执行 adb 時,adb-server 会自动的启动。因此,若是已经用 Eclipse 启动过 Android模拟器的话,adb-server 就已经在后台执行了。 在控制台上输入 adb devices 后会出现“[b]???????????? no permissions[/b]” 这种情况。 此时的解决办法: cd进入SDK下的tools目录后执行下面的两条命令: sud...
Java 连接到一台通过代理上网的电脑
RT,想写一个小的程序,其中一台电脑登陆了教育网直通车代理,作为服务器。rn在另一台电脑上运行客户端访问服务器。可是总显示连接超时。rn(说明:在同一台电脑上同时运行Server和Client时正常。)rn求教。
C# WINFORM中保存文件路径
题目说的不是很清楚,具体是这样的:rn我现在要做监控程序,里面有录象功能,录象完了就要保存录象资料,如果不做任何处理,资料自动保存在bin\debug下面,rn我现在需要把录象资料保存在指定的路径下,我该如何操作?
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池