| 
	
		|  Autor | Tema: Esposible o muere en el intento  (Leído 4,527 veces) |  
	| 
			| 
					
						| kakinets 
								 
								
								 Desconectado 
								Mensajes: 414
								
								 
								[>Argentina<]
								
								
								
								
								
								   | 
 
hola yo quiero saber si esto es posible o solo me ago ilusiones
 Lo q yo quiero hacer es lo siguiente...
 
 Manejar un puerto usb por VB....No como por librerias no tengo idea....
 
 Lo q yo quiero hacer es cortar la energia de un usb y bolberla adtivar...
 
 Para q es esto:
 
 Lo que yo tengo en la mente por ahora es un ventilado q se ensiende por un programa en VB y se apaga....Este va conectado a un usb en donde corta y activa la energia....Un esjemplo simple es los parlante de sonido nuevos se alimenta de corriente por los usb pero esa corriente esta constantemente activada....
 
 
 Bueno espero q me allan entendido...
 
 
 gracias a Todos KakiNets
 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Gangrel | 
 
Je visial basic es un lenguaje de alto nivel y no tiene acceso al puerto USB, un lenguaje que te podria ayudar con eso es C++ e interrupciones ASM, con eso podrias lograrlo, ya que ensamblador es un lenguaje de muy bajo nivel. 
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Kizar 
								       
								
								 Desconectado 
								Mensajes: 1.325
								
								 
								kizar_net
								
								
								
								
								
								   | 
 
En ASM se puede hacer todo!!! , pero es muy dificil de programar en comparacion con otros lenguajes como VB |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| NYlOn 
								 
								
								 Desconectado 
								Mensajes: 842
								
								 
								OOOOHHHHHH, TARAGÜIIII       xDDDDDD
								
								
								
								
								
								     | 
 
En mi opinion, desde VB, cerrar los puertos USB, es, IMPOSIBLE (no te quiero tirar abajo xD) a menos que se recurra a alguna DLL u OCX, que hasta el momento no he visto asike, a buscar   |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| kakinets 
								 
								
								 Desconectado 
								Mensajes: 414
								
								 
								[>Argentina<]
								
								
								
								
								
								   | 
 
Entondes el  Visual Basic lo decarto...
 En q lenguaje lo podria hacer...Un amigo me recondo en Direc X
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| _Sergi_ 
								 
								
								 Desconectado 
								Mensajes: 842
								
								   | 
 
Si se puede hacer en VB. Aqui tienes un code, no se realmente para que es pero el caso es que usa el puerto USB y es en VB... si consigues entenderlo o adaptarlo a tu programa, habras resuelto tu problema. Este código NO es mio y tan solo es orientativo, ya que como he dicho no estoy seguro de su funcionamiento rea En un modulo Public Declare Function CloseHandle Lib "kernel32" ( _ByVal hObject As Long) As Long
 
 Public Declare Function DeviceIoControl Lib "kernel32" ( _
 ByVal hDevice As Long, _
 ByVal dwIoControlCode As Long, _
 lpInBuffer As Any, _
 ByVal nInBufferSize As Long, _
 lpOutBuffer As Any, _
 ByVal nOutBufferSize As Long, _
 lpBytesReturned As Long, _
 lpOverlapped As OVERLAPPED) As Long
 
 Public Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" ( _
 ByVal lpFileName As String, _
 ByVal dwDesiredAccess As Long, _
 ByVal dwShareMode As Long, _
 lpSecurityAttributes As SECURITY_ATTRIBUTES, _
 ByVal dwCreationDisposition As Long, _
 ByVal dwFlagsAndAttributes As Long, _
 ByVal hTemplateFile As Long) As Long
 
 ' WINAPI - Typen
 Public Type USBName
 USBLenght As Long
 GUID(256) As Byte
 End Type
 
 Public Type OVERLAPPED
 ternal As Long
 ternalHigh As Long
 offset As Long
 OffsetHigh As Long
 hEvent As Long
 End Type
 
 Public Type SECURITY_ATTRIBUTES
 nLength As Long
 lpSecurityDescriptor As Long
 bInheritHandle As Long
 End Type
 
 ' WINAPI - Valores de las constantes
 Public Const OPEN_EXISTING = 3
 Public Const GENERIC_READ = &H80000000
 Public Const GENERIC_WRITE = &H40000000
 Public Const FILE_SHARE_READ = &H1
 Public Const FILE_SHARE_WRITE = &H2
En un formulario (para probarlo) Private Const USB_ROOT_HUB = &H220408Private Const USB_HOSTCONTROLLER = &H220424
 
 Private Sub Form_Load()
 Dim hFile     As Long
 Dim sHostName As String
 Dim Sa        As SECURITY_ATTRIBUTES
 Dim ov        As OVERLAPPED
 Dim i         As Long
 Dim ii        As Long
 Dim nFlags    As Long
 Dim nShare    As Long
 Dim USB       As USBName
 Dim RetByte   As Long
 Dim rVal      As Long
 
 nFlags = GENERIC_READ Or GENERIC_WRITE
 nShare = FILE_SHARE_READ Or FILE_SHARE_WRITE
 
 For i = 0 To 3
 sHostName = "\\.\HCD" & CStr(i)
 hFile = CreateFile(sHostName, nFlags, nShare, Sa, OPEN_EXISTING, 0, 0)
 If hFile > 0 Then
 sHostName = ""
 If DeviceIoControl(hFile, USB_ROOT_HUB, 0, 0, USB, Len(USB), RetByte, ov) Then
 rVal = DeviceIoControl(hFile, USB_ROOT_HUB, USB, USB.USBLenght, USB, USB.USBLenght, RetByte, ov)
 If rVal Then
 For ii = 0 To RetByte Step 2
 sHostName = sHostName + Chr(USB.GUID(ii))
 Next
 MsgBox sHostName
 End If
 End If
 CloseHandle hFile
 End If
 Next
 End Sub
 |  
						| 
								|  |  
								| « Última modificación:  1 Octubre 2005, 22:25 pm por acosta.sergi » |  En línea | 
 
 Proyecto de Ingeniero |  |  |  | 
			| 
					
						| programatrix | 
 
Vb no tiene limitaciones, a no ser que sea algu muy bajo a nivel sistema como parámetros de memoria, manipular exe, cluseter etc... Para todo lo demás están las apis de widnows    |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| kakinets 
								 
								
								 Desconectado 
								Mensajes: 414
								
								 
								[>Argentina<]
								
								
								
								
								
								   | 
 
Y como saber como se llama cada api y darle un funsionamientos...És decir como se cual es la api q sirve para los USB....O demas
 
 Espero q  me allan entendido
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  | 
			| 
					
						| Slasher-K 
								       
								
								 Desconectado 
								Mensajes: 1.477
								
								
								
								
								
								   | 
 
Vb no tiene limitaciones, a no ser que sea algu muy bajo a nivel sistema como parámetros de memoria, manipular exe, cluseter etc... Para todo lo demás están las apis de widnows   Eso si se puede hacer y sin mucho lío, es más fácil que usar el USB porque DeviceIoControl se comunica directamente con los controladores. pedronets: hay formas y formas de preguntar las cosas, luego si no te responden no te quejes. |  
						| 
								|  |  
								|  |  En línea | 
 
  A la reina de las profundidades que cuida los pasos de una sombra en la noche :* |  |  |  |  |  
 
	
 
   |