elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 32
131  Programación / .NET (C#, VB.NET, ASP) / Re: Pregunta Boba / como pasar registros desde un listbox a variables en: 6 Abril 2016, 18:40 pm
Hola

Si cada Item del ListBox contiene algo como esto "04 08 09", se tratan de cadenas STRING y NO lo puedes meter en una variable Integer. Ya que una variable integer solo acepta números  de -2.147.483.648 a 2.147.483.647.

Y esto:

item 0 = "01 02 03"
item 1 = "02 05 08"
item 2 = "04 08 09"

no son números son cadenas String o de texto. Evidentemente el 1 es un número el 3 también, pero si lo pones "01 03" no es número. En cambio "0103" sí es un número, pero entonces "01" pierde su individualidad como número, ya que se trata del 103.




132  Sistemas Operativos / Windows / Re: Como deshabilitar autoarranque wmplayer.exe (oculto) al introducir USB en: 6 Abril 2016, 17:01 pm
¿Qué windows tienes?

Según versión, desde las propiedades de la unidad o bien desde el panel de control, puedas cambiar el comportamiento de la reproducción automática en caso de estar activada. Ese pendrive ¿alguna vez ha almacenado contenido multimedia? ¿Has mirado en la cfg. del wmplayer si hay alguna opción relacionada con ese comportamiento?

Enhorabuena!!! Parece que por ahí va la cosa. En panel de control hay icono con nombre "Reproducción automática" y es posible establecer el comportamiento a "No realizar ninguna acción". Sin embargo no hay ninguna referencia a dispositivo USB solo a CD y DVD y al comportamiento con dispositivos que contengan archivos multimedia.

133  Sistemas Operativos / Windows / Re: Como deshabilitar autoarranque wmplayer.exe (oculto) al introducir USB en: 6 Abril 2016, 15:47 pm
Menú Inicio > Ejecutar

Escribir: gpedit.msc y pulsar "intro"

En el árbol de la izquierda, seguir esta ruta:
Directiva de equipo local > Configuración del equipo > Plantillas administrativas > Sistema
Y en la ventana de la derecha, bajar hasta "Desactivar reproducción automática"

Pinchar en "Habilitar", y elegir la opción:

Desactivar reproducción automática en: Todas las unidades.



Gracias Orubatosu por la respuesta. Aunque soluciona el problema permíteme un 'pero'

Gpedit.msc no está disponible en todos los sistemas, creo que solo en las versiones Professional. En los Home no está disponible. Así que si alguien tiene un SO versión Home y tiene el mismo problema va a intentar ejecutar gpedit.msc y se va a llevar un chasco. Esto lo comento porque es muy común encontrar que mucha gente ofrece la solución del gpedit sin tener en cuenta o saber que no todo el mundo dispone de él.

Así que yo propongo la solución alternativa que es hacer manualmente lo mismo que hace gpedit.msc que es crear estas claves y valores en el registro de windows.

Deshabilitar Reproducción automática
CDROM
Código:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000b5

TODAS LAS UNIDADES
Código:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]
"NoDriveTypeAutoRun"=dword:000000ff


Para volver a habilitar, se borra NoDriveTypeAutoRun y listo.

(es necesario reiniciar explorer.exe, cerrar sesión, o reiniciar el sistema)

Sin embargo el otro pero es que si te duele la mano, no te cortas el brazo. Pues esto igual. Lo que yo busco es deshabilitar justamente esta acción de wmplayer.exe. Que no se si será algún servicio o habrá alguna clave del registro que se pueda crear o modificar para que no se enchegue.

s2s





134  Sistemas Operativos / Windows / Como deshabilitar autoarranque wmplayer.exe (oculto) al introducir USB en: 6 Abril 2016, 13:12 pm
Hola

He notado que al introducir el USB se autoejecuta wmplayer.exe debido a que el puntero del ratón cambiaba de forma intermitente del puntero normal al de espera, lo cual resulta muy molesto. No solo por el puntero, si no porque me molesta a la hora de realizar tareas. Además wmplayer.exe se ejecuta de forma oculta, sin ventana.

Entonces tengo que ejecutar el Task Manager (taskmgr.exe) para visualizar los procesos y cerrar wmplayer.exe.

No se por qué se ejecuta, ni qué es lo que hace wmplayer.exe. Yo supongo que busca archivos de vídeo o música.

He probado buscar algo que haga referencia a esto pero no he encontrado nada.

¿Alguna idea al respecto?

Gracias

135  Programación / Programación Visual Basic / Re: Consola por pipe crashea en windows 8 y versiones adelantadas en: 6 Abril 2016, 10:57 am
Por supuesto que te ilustro  >:D

Aquí tienes mi código en ASM de una verdadera Shell Remota que usa pipes de manera eficiente.

...

¿Y en VB?, porque te recuerdo que esto es el foro para Visual Basic y aquí el amigo programa en VB. XD
136  Programación / Programación Visual Basic / Re: datagridview combobox funcion selectedindex??? en: 5 Abril 2016, 19:45 pm
Suponiendo que el combo esté en la Fila/Row  0...

Código
  1. DataGridView_signos.Item("nombre", 0).Value = "No"

Por cierto, eso es NET y este foro es par VB (a secas), no para Visual Studio .NET.

S2s



Código
  1.  
  2.        Dim DataGridView_signos As New DataGridView
  3.        Dim columna_combobox As New DataGridViewComboBoxColumn
  4.  
  5.        columna_combobox.Name = "nombre"
  6.        columna_combobox.Items.Add("No")
  7.        columna_combobox.Items.Add("Si")
  8.        DataGridView_signos.Columns.Add(columna_combobox) ' Añado la columna combobox al datagrid
  9.  
  10.        DataGridView_signos.Item("nombre", 0).Value = "No"
  11.        Me.Controls.Add(DataGridView_signos)
137  Programación / Programación Visual Basic / Re: Consola por pipe crashea en windows 8 y versiones adelantadas en: 5 Abril 2016, 18:31 pm
En realidad es una forma un poco chapucera de usar pipes  >:D

¿Tu programa sería capaz de ejecutar la instrucción "CD.." y mantenerse en esa ruta en ejecutar la siguiente instrucción?

Usa los pipes de manera eficiente amigo :)

un saludo.

¿Por qué no nos ilustras un poco con tu sabiduría? En lugar de criticar  :¬¬
138  Programación / Programación Visual Basic / Re: Evitar la seleccion de la camara web en: 5 Abril 2016, 17:40 pm
Al parecer tienes más de un controlador.

Como no tengo más dispositivos no puedo probar lo que te voy a proponer así que ya me contarás.

Este código obtiene una descripción de las versiones de controladores de captura:

Código
  1. Private Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Long, _
  2. ByVal lpszName As String, ByVal cbName As Long, ByVal lpszVer As String, _
  3. ByVal cbVer As Long) As Boolean
  4.  
  5. Private Sub Form_Load()
  6. Dim strName As String
  7. Dim strVer As String
  8. Dim iReturn As Boolean
  9. Dim X As Long
  10.  
  11. X = 0
  12. strName = Space(100)
  13. strVer = Space(100)
  14.  
  15. Do
  16. iReturn = capGetDriverDescriptionA(X, strName, 100, strVer, 100)
  17. If iReturn Then List1.AddItem Trim$(strName)
  18. X = X + 1
  19. Loop Until iReturn = False
  20. End Sub
  21.  

Obtiene un lista de controladores.

El NOMBRE de la lista del controlador que quieres utilizar es el que se debe establecer en

capCreateCaptureWindowA
:

Código:
capCreateCaptureWindowA(NOMBRE ,dwStyle, X, Y, nWidth, hWnd nID                 )

En dwStyle puedes establecer las constantes :
Código
  1. Const WS_CHILD As Long = &H40000000
  2. Const WS_VISIBLE As Long = &H10000000

Si pones List1.List(0), utilizará el primero de la lista.

Tú has puesto "WebcamCapture", quizás este sea el problema.

He realizado este código a partir del que encontré aquí:

Manejo de cámara

Está muy bien porque no necesitas el Timer y la transición entre imágenes es muy suave. La diferencia con el de la página es que uso el nombre del controlador en lugar de iDevice que es un número, y capCreateCaptureWindowA demanda String y reservo el índice en IndexDevice  para el SendMessage. Además puedes guardar imagen de un frame en un instante determinado sin que la captura que se muestra en el Picture se congele.

Necesitas tres botones, un listbox y un Picture, con los nombres:
cmdConectar
cmdDesconectar
cmdGuardar
List1
Picture1

Código
  1.  
  2. Const WM_CAP As Integer = &H400
  3.  
  4. Const WM_CAP_DRIVER_CONNECT As Long = 1034
  5. Const WM_CAP_DRIVER_DISCONNECT As Long = 1035
  6. Const WM_CAP_DRIVER_GET_FRAME As Long = 1084
  7. Const WM_CAP_EDIT_COPY As Long = WM_CAP + 30
  8.  
  9. Const WM_CAP_SET_PREVIEW As Long = WM_CAP + 50
  10. Const WM_CAP_SET_PREVIEWRATE As Long = WM_CAP + 52
  11. Const WM_CAP_SET_SCALE As Long = WM_CAP + 53
  12. Const WS_CHILD As Long = &H40000000
  13. Const WS_VISIBLE As Long = &H10000000
  14. Const SWP_NOMOVE As Long = &H2
  15. Const SWP_NOSIZE As Integer = 1
  16. Const SWP_NOZORDER As Integer = &H4
  17. Const HWND_BOTTOM As Integer = 1
  18.  
  19.  
  20. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  21. (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, _
  22. lParam As Any) As Long
  23.  
  24. Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
  25. ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
  26. ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  27.  
  28. Private Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean
  29.  
  30. Private Declare Function capCreateCaptureWindowA Lib "avicap32.dll" _
  31. (ByVal lpszWindowName As String, ByVal dwStyle As Long, _
  32. ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, _
  33. ByVal nHeight As Integer, ByVal hWndParent As Long, _
  34. ByVal nID As Long) As Long
  35.  
  36. Private Declare Function capGetDriverDescriptionA Lib "avicap32.dll" (ByVal wDriver As Long, _
  37. ByVal lpszName As String, ByVal cbName As Long, ByVal lpszVer As String, _
  38. ByVal cbVer As Long) As Boolean
  39.  
  40.  
  41. Dim strDevice As String
  42. Dim IndexDevice As Integer
  43. Dim hHwnd As Long
  44.  
  45. Private Sub cmdDesconectar_Click()
  46. cmdConectar.Enabled = True
  47. cmdGuardar.Enabled = False
  48. cmdDesconectar.Enabled = False
  49. Desconectar
  50. End Sub
  51.  
  52. Private Sub cmdGuardar_Click()
  53. On Error GoTo EvitarError:
  54. Dim objPic As IPictureDisp
  55.  
  56. '//Guarda una imagen de un frame
  57. SendMessage hHwnd, WM_CAP_EDIT_COPY, 0, 0
  58. If Clipboard.GetFormat(vbCFBitmap) Then
  59. Set objPic = Clipboard.GetData(vbCFBitmap)
  60. SavePicture objPic, App.Path & "\ImagenWebCam1.bmp"
  61.  
  62. End If
  63. EvitarError:
  64. If Err.Number <> 0 Then
  65. MsgBox (Err.Description)
  66. End If
  67. End Sub
  68.  
  69. Private Sub cmdConectar_Click()
  70.  
  71. strDevice = List1.List(List1.ListIndex)
  72. IndexDevice = List1.ListIndex
  73. ConectarCamara
  74. End Sub
  75. '//Conecta la cámara
  76. Private Sub ConectarCamara()
  77.  
  78. '//Activa la webcam
  79. hHwnd = capCreateCaptureWindowA(strDevice, WS_VISIBLE Or WS_CHILD, 0, 0, 640, 480, Picture1.hwnd, 0)
  80. If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, IndexDevice, 0) Then
  81. SendMessage hHwnd, WM_CAP_SET_SCALE, False, 0
  82. SendMessage hHwnd, WM_CAP_SET_PREVIEWRATE, 66, 0
  83. SendMessage hHwnd, WM_CAP_SET_PREVIEW, True, 0
  84.  
  85.  
  86. SetWindowPos hHwnd, HWND_BOTTOM, 0, 0, Picture1.ScaleWidth, Picture1.ScaleHeight, _
  87. SWP_NOMOVE Or SWP_NOZORDER
  88.  
  89. cmdGuardar.Enabled = True
  90. cmdDesconectar.Enabled = True
  91. cmdConectar.Enabled = False
  92.  
  93. Else
  94. DestroyWindow hHwnd
  95. cmdGuardar.Enabled = False
  96. End If
  97.  
  98. End Sub
  99.  
  100. '//Muestra una lista de controladores
  101. Private Sub CargarListaControladores()
  102. Dim strName As String
  103. Dim strVer As String
  104. Dim iReturn As Boolean
  105. Dim x As Long
  106.  
  107. x = 0
  108. strName = Space(100)
  109. strVer = Space(100)
  110. Do
  111. iReturn = capGetDriverDescriptionA(x, strName, 100, strVer, 100)
  112. If iReturn Then List1.AddItem Trim$(strName)
  113. x = x + 1
  114. Loop Until iReturn = False
  115. End Sub
  116. '//Descanecta la camara
  117. Sub Desconectar()
  118. Dim x As Long
  119.    DoEvents
  120.    x = SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0)
  121.    x = DestroyWindow(hHwnd)
  122. End Sub
  123.  
  124.  
  125.  
  126. Private Sub Form_Load()
  127. cmdConectar.Caption = "Conectar"
  128. cmdDesconectar.Caption = "Desconectar"
  129. cmdGuardar.Caption = "Guardar frame"
  130. cmdGuardar.Enabled = False
  131. cmdDesconectar.Enabled = False
  132.  
  133. CargarListaControladores
  134. 'Seleciona el primer controlador de la lista
  135. If List1.ListCount > 0 Then
  136. List1.Selected(0) = True
  137. cmdConectar.Enabled = True
  138. Else
  139. cmdConectar.Enabled = False
  140. MsgBox ("No Device Available")
  141. End If
  142.  
  143.  
  144. End Sub
  145.  
  146.  


El índice del controlador queda guardado en IndexDevice cuando se selecciona en el ListBox. Se envía un mensaje con este índice y si dicho índice no está en la lista no se activa.

Código:
SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, IndexDevice, 0)

Prueba a ir cambiando el controlador de la lista a ver si no te aparece el diálogo.

Una vez me apareció cuando conecté y desconecté rápidamente pero, por mucho que lo he vuelto a hacer no me vuelve a salir. No tengo ni idea de porqué. Si el controlador está siendo usado por otra apliación, el picture aparece de color verde.




s2s
139  Programación / Programación Visual Basic / Re: Evitar la seleccion de la camara web en: 1 Abril 2016, 02:03 am
Hola

He probado tu código y a mi no me aparece ningún diálogo.



Código
  1.  
  2. Private Declare Function capCreateCaptureWindow Lib "avicap32.dll" _
  3.    Alias "capCreateCaptureWindowA" ( _
  4.    ByVal lpszWindowName As String, _
  5.    ByVal dwStyle As Long, _
  6.    ByVal x As Long, _
  7.    ByVal y As Long, _
  8.    ByVal nWidth As Long, _
  9.    ByVal nHeight As Long, _
  10.    ByVal hwndParent As Long, _
  11.    ByVal nID As Long) As Long
  12.  
  13. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" ( _
  14.    ByVal hwnd As Long, _
  15.    ByVal wMsg As Long, _
  16.    ByVal wParam As Long, _
  17.    lParam As Any) As Long
  18.  
  19. Private Declare Function DestroyWindow Lib "user32" (ByVal hndw As Long) As Boolean
  20.  
  21. Private Const CONNECT As Long = 1034
  22. Private Const DISCONNECT As Long = 1035
  23. Private Const GET_FRAME As Long = 1084
  24. Private Const COPY As Long = 1054
  25. Private hWndCap As Long
  26. '//Activar Cámara web
  27. Private Sub Command1_Click()
  28. Conectar
  29. Timer1.Enabled = True
  30. End Sub
  31. '//Desconecta la cámara web
  32. Private Sub Command2_Click()
  33. Dim ClearImage As IPictureDisp
  34. Desconectar
  35. Timer1.Enabled = False
  36. Picture1.Refresh
  37. Picture1.Picture = ClearImage
  38. End Sub
  39.  
  40. Public Sub CapturarCamara()
  41. Dim x As Long
  42. Picture1.Refresh
  43. x = SendMessage(hWndCap, GET_FRAME, 0, 0)
  44. x = SendMessage(hWndCap, COPY, 0, 0)
  45. Picture1.Picture = Clipboard.GetData
  46. End Sub
  47. Sub Conectar()
  48.   Dim x As Long
  49.    hWndCap = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 640, 480, Me.hwnd, 0)
  50.    DoEvents
  51.    x = SendMessage(hWndCap, CONNECT, 0, 0)
  52.  
  53. End Sub
  54. Sub Desconectar()
  55. Dim x As Long
  56.    DoEvents
  57.    x = SendMessage(hWndCap, DISCONNECT, 0, 0)
  58.    x = DestroyWindow(hWndCap)
  59. End Sub
  60.  
  61. Private Sub Form_Load()
  62. Timer1.Interval = 1
  63. Timer1.Enabled = False
  64. End Sub
  65.  
  66. Private Sub Form_Unload(Cancel As Integer)
  67.   Dim x As Long
  68.   Desconectar
  69.    x = DestroyWindow(hWndCap)
  70. End Sub
  71.  
  72. Private Sub Timer1_Timer()
  73. CapturarCamara
  74. End Sub
  75.  
  76.  
  77.  
140  Programación / .NET (C#, VB.NET, ASP) / Re: Barra de progreso no termina en: 31 Marzo 2016, 22:18 pm
Sí, con el código que te mostré ocurre lo mismo, lo que te dije es que despues de mostrar el msgbox (unos ms despues), la barra se completará, por que le estás dejando tiempo suficiente para que se redibuje el control.

Lo intentaré explicar de una forma más simple para que se entienda mejor:
Cuando le asignas un valor del 0 al 100 a la barra de progreso, de una forma rápida como en tu código, y ves que no se completa la barra al mismo tiempo, es sencillamente por que le estás enviando actualizaciones de valor más rápido del tiempo necesario que el control o ventana necesita para procesar ese mensaje y actualizar la animación entre cada valor.


Con cualquier código el, mio o el tuyo, yo si veo que acaba la barra, pero el mensaje se muestra antes que acabe. Ya supongo que el proceso matemático por así decirlo va más rápido que el gráfico. El problema está cuando se trata de dar a la oportunidad al usuario de cancelar un cierre de sesión o de windows y gráficamente parece que aún da tiempo pero en realidad no es así, además que parece que se cierra antes de tiempo.

Y gracias por el snippet.

s2s



He probado el Snippet. Va bien, pero vamos que pasa lo mismo.

Este cierra la aplicación tras 5 segundos. Pero claro, visualmente parece que lo haga antes.

Código
  1. Public Class Form1
  2.  
  3.    Private Sub UpdateProgress(ByVal value As Integer)
  4.        Me.ProgressBar1.PerformStep()
  5.        My.Application.DoEvents()
  6.    End Sub
  7.  
  8.    Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
  9.        Me.ProgressBar1.Minimum = 0
  10.        Me.ProgressBar1.Maximum = 100
  11.        Me.ProgressBar1.Step = 1
  12.        Dim Segundos As Integer = 5
  13.  
  14.        For x As Integer = 0 To 100
  15.            Threading.Thread.Sleep(Segundos * 10)
  16.            UpdateProgress(x)
  17.        Next
  18.        If ProgressBar1.Value = ProgressBar1.Maximum Then
  19.            Close()
  20.        End If
  21.    End Sub
  22. End Class


Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 ... 32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines