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 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46
351  Programación / Programación Visual Basic / Re: Manejo de la ventana Dar Formato de Windows en: 12 Febrero 2009, 19:30 pm
Para la unidades "discos removibles" proba con este code (estoy con Windows seven y no puedo probar mucho en XP)

Agregá un combobox

Código:

Option Explicit
Private Declare Function GetLogicalDrives Lib "Kernel32" () As Long
Private Declare Function GetDriveType Lib "Kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Declare Function GetDiskFreeSpaceEx Lib "Kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long
Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Private Sub Form_Load()

Dim LDs As Long, Cnt As Long, sDrives As String
Dim lpFreeBytesAvailableToCaller As Currency, TotalBytes As Currency, FreeBytes As Currency

Dim sistemaArchivos As String: sistemaArchivos = String$(255, Chr$(0))
Dim volumen As String: volumen = String$(255, Chr$(0))
Dim Nserie As Long


LDs = GetLogicalDrives

For Cnt = 0 To 25
  If (LDs And 2 ^ Cnt) <> 0 Then
    If GetDriveType(Chr$(65 + Cnt) + ":\") = 2 Then
      sDrives = sDrives + " " + Chr$(65 + Cnt)
    'MsgBox GetDriveType(Chr$(65 + Cnt) + ":\")
    End If
  End If
Next Cnt
   
'MsgBox Trim(sDrives)

Dim ssDrives() As String
ssDrives() = Split(Trim(sDrives), " ")

'MsgBox ssDrives(0)
'MsgBox ssDrives(1)

'MsgBox UBound(ssDrives)
If UBound(ssDrives) < 0 Then
  MsgBox "No hay Ubidades extraibles"
  'End 'Exit Sub
End If

Dim i As Long
For i = 0 To UBound(ssDrives)
 
  Call GetDiskFreeSpaceEx(ssDrives(i) + ":\", lpFreeBytesAvailableToCaller, TotalBytes, FreeBytes)
  Call GetVolumeInformation(ssDrives(i) + ":\", volumen, Len(volumen), Nserie, 0, 0, sistemaArchivos, Len(sistemaArchivos))
  'MsgBox ssDrives(i) + ":\" & vbTab & Format(TotalBytes / 102400, "0.00") & " GB"
  Combo1.AddItem (ssDrives(i) + ":\" & "    " & Format(TotalBytes / 102400, "0.00") & " GB") & "    " & Trim(volumen)

Next i

If Combo1.ListCount > 0 Then Combo1.ListIndex = 0

 
End Sub






352  Programación / Programación Visual Basic / Re: Manejo de la ventana Dar Formato de Windows en: 12 Febrero 2009, 16:22 pm
Hola fabricio, fijate si asi llegan los mensajes (PostMessage)

la letra de la unidad en mayuscula

Call SHFormatDrive(Me.hwnd, (Asc("A:") - 65), 0&, 0&)


Código:

Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Declare Function SHFormatDrive Lib "shell32" (ByVal hwnd As Long, ByVal Drive As Long, ByVal fmtID As Long, ByVal options As Long) As Long

Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202

Private Sub Form_Load()

Timer1.Enabled = True
Timer2.Enabled = False
Timer1.Interval = 100
Timer2.Interval = 100

End Sub

Private Sub Command1_Click()

Call SHFormatDrive(Me.hwnd, (Asc("A:") - 65), 0&, 0&)

End Sub

Private Sub Timer1_Timer()

Dim Hwndl As Long

Hwndl = FindWindow("#32770", vbNullString)
Hwndl = FindWindowEx(Hwndl, 0, "Button", "&Iniciar")

If Hwndl <> 0 Then
  Call PostMessage(Hwndl, WM_LBUTTONDOWN, 0, 0)
  Call PostMessage(Hwndl, WM_LBUTTONDOWN, 0, 0)
  Call PostMessage(Hwndl, WM_LBUTTONUP, 0, 0)
  Timer1.Enabled = False
  Timer2.Enabled = True
End If

End Sub

Private Sub Timer2_Timer()

Dim Hwndl As Long

Hwndl = FindWindow("#32770", vbNullString)
Hwndl = FindWindowEx(Hwndl, 0, "Button", "Aceptar")

If Hwndl <> 0 Then
 Call PostMessage(Hwndl, WM_LBUTTONDOWN, 0, 0)
 Call PostMessage(Hwndl, WM_LBUTTONDOWN, 0, 0)
 Call PostMessage(Hwndl, WM_LBUTTONUP, 0, 0)
 Timer2.Enabled = False
 End
End If

End Sub


Saludos


353  Programación / Programación Visual Basic / Pasar variables Entre Aplicaciones (SRC) en: 10 Febrero 2009, 16:28 pm
Hola, dejo un ejemplo de como mandar una variable por memoria desde una aplicacion a otra y viceversa. Uso SendMessage con SETTEXT para enviar y SendMessage con GETTEXT para recibir.
Hay que compilar los dos Proyectos (Proyecto1 y Proyecto2) y luego ejecutar Proyecto1.

Actualizado 27/11/2010

http://www.megaupload.com/?d=J3G98NQ0




Saludos
354  Programación / Programación Visual Basic / Re: Pasar datos por memoria. en: 7 Febrero 2009, 10:31 am
Hola APOKLIPTICO, una idea es si el programa descifrador (C++) es tuyo podrias usar SendMessage con WM_SETTEXT para enviar el resultado a un Texbox de otra aplicación, en este caso tu aplicacion de VB.
Generamente lo uso entre dos aplicaciones Vb, yo de C++ nada, pero creo que podes usar SendMessage. No es pasarlo por memoria directamente (como variable) pero por lo menos no interviene el disco

En el caso que la aplicacion C++ no sea tuya o quieras hacer todo desde VB, tendrias que ejecutarla la C++ desde el code de Vb (VbHide) y capturar el resultado en el control en que se encuentre (tambien con SendMessage pero en este caso con WM_GETTEXT desde Vb), por ultimo volves a usar SendMessage para cerrar la aplicacion C++.

Saludos (espero que sirva)

PD: Una pregunta al foro aprovechando que viene al tema, se puede pasar una variable de una aplicacion a otra con SendMessage o de otra forma ???

Saludos nuevamente



355  Programación / Programación Visual Basic / Re: Crear carpetas todas juntas en: 6 Febrero 2009, 21:31 pm
Hola, proba si te sirve así:

Código:

If Dir("C:\OK1", vbDirectory) = "" Then MkDir "C:\OK1"
If Dir("C:\OK1\OK2", vbDirectory) = "" Then MkDir ("C:\OK1\OK2")
If Dir("C:\OK1\OK2\OK3", vbDirectory) = "" Then MkDir ("C:\OK1\OK2\OK3")


Saludos
356  Programación / Programación Visual Basic / Re: Combinación de teclas en keybd_event en: 3 Febrero 2009, 10:07 am
Hola, es bueno que hayas aprendido a manejar keybd_event, pero creo no es Windows el que gira la pantalla, sino el sofware asociado a los drivers del video, N-videa, ATI, o las On-board de Intel traen esas funciones (que se pueden Habilitar o deshabilitar desde sus propiedades), pero no todos los drivers de videos traen esa funcion y mucho menos  los genéricos de windows  (como trata de explicarte el_c0c0)

Saludos

   
357  Programación / Programación Visual Basic / Re: Obtener color en: 3 Febrero 2009, 02:35 am
Si, creo que en tu caso con SetCursorPos no vas a tener problemas

Saludos y que funcione


EDIT: perdon quise decir con no hacer la llamada GetCursorPos y la posicion x-y fija en las coordenadas que nesecites.

' Call GetCursorPos(tPOS)
  lColor = GetPixel(lDC, tPOS.x, tPOS.y)

Nuevamente saludos y que funcione
358  Programación / Programación Visual Basic / Re: Obtener color en: 3 Febrero 2009, 02:08 am
Hola, fijate si esto puede ayudar


http://foro.elhacker.net/programacion_vb/color_del_pixel_en_donde_esta_el_mouse-t233239.0.html


Saludos

359  Programación / Programación Visual Basic / Re: replace texto centrado en: 1 Febrero 2009, 22:33 pm
andrer03, Ninguno de nosotros somos adivinos, una cosa es como pantleaste la pregunta (refiriendote a una cadena) y otra es si el texbox2 tiene mas texto o es multiline, si no  explicas todo desde un principio nos "descolocas" (por lo menos a mi)
Quisiera ayudarte pero no entiendo la pregunta Saludos

 
360  Programación / Programación Visual Basic / Re: replace texto centrado en: 1 Febrero 2009, 21:54 pm
Lo podes hacer calculando el Len de la cadena inicial y el len de la cadena modificada

saludos

EDIT: doy por seguro que los texbox tienen la propiedad Alignment = 2 (center)
Páginas: 1 ... 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines