Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: ziclope en 17 Agosto 2016, 01:48



Título: Mostrar los elementos de Mi PC de windows
Publicado por: ziclope en 17 Agosto 2016, 01:48
Gracias de antemano.
Tengo un dispositivo movil samsung el cual lo conecto a mi computadora con sistema windows 8.1, y windows lo reconoce con icono 23 y dentro de eso me muestra la memoria interna (Phone) y la externa (Card).

Mi pregunta es: Como hago para copiar un archivo de mi PC a una de las unidades del dispositivo movil mediante codigo.

Mi problema radica en que, no se como poner la ruta de la carpeta especial "Mi PC"

Código
  1. My.Computer.FileSystem.CopyFile("d:\trabajos\tarea.txt", Environment.GetFolderPath(Environment.SpecialFolder.MyComputer) & "\23\Card\tarea.txt")

Les estaré muy agradecidos


Título: Re: Mostrar los elementos de Mi PC de windows
Publicado por: [Arg] $triker; en 17 Agosto 2016, 03:30
Código:
Código, código, código.

Leete esto. (http://foro.elhacker.net/help.html;page=post#bbc)

También por favor decinos el lenguaje en el que estás programando.

(Fe de erratas serias)
La ubicación "Mi PC" no existe. Se divide en diferentes unidades, C:, D:, G:, X:.
Si yo me refiero a "C:\recurso\recursos\recurso.exe", se busca en esa unidad.
Si yo me refiero a otra, se usa otra.
Pero la cuestión es que Mi PC es sólo un directorio imaginario (o programa) que agrupa todas las unidades conectadas al equipo.


Título: Re: Mostrar los elementos de Mi PC de windows
Publicado por: Eleкtro en 17 Agosto 2016, 05:34
Para despejar dudas a los demás: el lenguaje en el que está trabajando es Visual Basic.NET.
Jamás entenderé en que piensa la gente que formula una pregunta de programación sin mencionar el lenguaje ...como si aquí todos fuesen adivinos :¬¬



Supuestamente para que el dispositivo Android se pueda mapear a una letra de unidad convencional (ej. F:\), debes habiilitar las siguientes características en tu dspositivo:

(http://i.imgur.com/msV5cCv.png)

Despues de eso supuestamente al conectar tu dispositivo deberías ser capaz de ver una letra de unidad en el directorio virtual Mi PC, es decir, que ya podrías copiar archivos de manera normal:
Código
  1. Dim fi As New FileInfo("C:\Archivo de origen.ext")
  2. fi.CopyTo(Path.Combine("X:\Directorio android\", fi.Name), overwrite:=False)



Si eso no te funcionase, entonces siempre puedes recurrir a la librería Android Lib:
  • https://github.com/regaw-leinad/AndroidLib/releases
+ Ejemplos de uso:
  • https://github.com/regaw-leinad/AndroidLib-Samples-VB

Con esta class que he sacado de mi API ElektroKit: https://github.com/ElektroStudios/ElektroKit/blob/master/Solution/Elektro.Application.ThirdParty/AndroidLib/Tools/AndroidLibUtil.vb (https://github.com/ElektroStudios/ElektroKit/blob/master/Solution/Elektro.Application.ThirdParty/AndroidLib/Tools/AndroidLibUtil.vb) -puedes utilizar AndroidLib para enumerar los dispositivos Android conectados al PC:
Código
  1. ' ***********************************************************************
  2. ' Author   : Elektro
  3. ' Modified : 06-March-2016
  4. ' ***********************************************************************
  5.  
  6. Imports System.Collections.ObjectModel
  7. Imports System.ComponentModel
  8.  
  9. Imports RegawMOD.Android
  10.  
  11. Public NotInheritable Class AndroidLibUtil
  12.  
  13.    ''' ----------------------------------------------------------------------------------------------------
  14.    ''' <summary>
  15.    ''' Prevents a default instance of the <see cref="AndroidLibUtil"/> class from being created.
  16.    ''' </summary>
  17.    ''' ----------------------------------------------------------------------------------------------------
  18.    <DebuggerNonUserCode>
  19.    Private Sub New()
  20.    End Sub
  21.  
  22.    ''' ----------------------------------------------------------------------------------------------------
  23.    ''' <summary>
  24.    ''' The Android controller, which controls communication to and from connected Android devices.
  25.    ''' </summary>
  26.    ''' ----------------------------------------------------------------------------------------------------
  27.    Private Shared controller As AndroidController
  28.  
  29.    ''' ----------------------------------------------------------------------------------------------------
  30.    ''' <summary>
  31.    ''' Gets the Android devices that are connected on the current system.
  32.    ''' </summary>
  33.    ''' ----------------------------------------------------------------------------------------------------
  34.    ''' <value>
  35.    ''' The Android devices that are connected on the current system.
  36.    ''' </value>
  37.    ''' ----------------------------------------------------------------------------------------------------
  38.    Public Shared ReadOnly Property Devices As ReadOnlyCollection(Of Device)
  39.        <DebuggerStepThrough>
  40.        Get
  41.            Return New ReadOnlyCollection(Of Device)(GetConnectedDevices.ToArray())
  42.        End Get
  43.    End Property
  44.  
  45.    Private Shared Iterator Function GetConnectedDevices() As IEnumerable(Of Device)
  46.  
  47.        ' Usually, you want to load this at startup, may take up to 5 seconds to initialize/set up resources/start server.
  48.        If (AndroidLibUtil.controller Is Nothing) Then
  49.            AndroidLibUtil.controller = AndroidController.Instance
  50.        End If
  51.  
  52.        ' Always call UpdateDeviceList() before using AndroidController on devices, to get the most updated list.
  53.        AndroidLibUtil.controller.UpdateDeviceList()
  54.  
  55.        If AndroidLibUtil.controller.HasConnectedDevices Then
  56.            For Each serial As String In AndroidLibUtil.controller.ConnectedDevices
  57.                Yield AndroidLibUtil.controller.GetConnectedDevice(serial)
  58.            Next serial
  59.        End If
  60.  
  61.    End Function
  62.  
  63. End Class

Y entonces ya solo es cuestión de transferir los archivos al directorio que desees utilizando los métodos expuestos en las classes de AndroidLib.

Saludos