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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Una mano, me quede trabado.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Una mano, me quede trabado.  (Leído 1,600 veces)
TheJucas21

Desconectado Desconectado

Mensajes: 43


Ver Perfil
Una mano, me quede trabado.
« en: 6 Marzo 2015, 19:53 pm »

Buenas, estuve haciando un cambia caption.
Cambiar la caption de una ventana poniendo yo los datos que quiero etc.

El cambia caption lo hice asi:
Citar
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetWindowText Lib "user32.dll" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long

Private Sub Command1_Click()
    Dim Ret As Long
    Ret = FindWindow(vbNullString, Text1.Text)
    SetWindowText Ret, Text2.Text
End Sub

(Generen el codigo en su vb para entender mejor)

Y me funciono bien, pero lo que quiero hacer ahora es mejorarlo, de manera que pueda ver los caption es un listbox y cambiandolo dandole click a la caption en la lista y poniendo en un textbox el nombre y dandole al commandbutton bueno, para que ejecute la acción de cambiar la caption.

Lo mas que pude acercarme a eso fue este codigo:
(generenlo en vb para entenderlo mejor)

Citar
Private Declare Function CreateToolhelpSnapshot Lib "kernel32" Alias "CreateToolhelp32Snapshot" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long

Private Declare Function ProcessFirst Lib "kernel32" Alias "Process32First" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Function ProcessNext Lib "kernel32" Alias "Process32Next" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
Private Declare Sub CloseHandle Lib "kernel32" (ByVal hPass As Long)

Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32ModuleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 260
End Type

'Para llenar el listbox con los procesos
Sub RellenaLista()
On Error Resume Next
Dim hSnapShot As Long
Dim uProceso As PROCESSENTRY32
Dim res As Long
List1.Clear
hSnapShot = CreateToolhelpSnapshot(2&, 0&)
If hSnapShot <> 0 Then
uProceso.dwSize = Len(uProceso)
res = ProcessFirst(hSnapShot, uProceso)
Do While res
List1.AddItem Left$(uProceso.szExeFile, InStr(uProceso.szExeFile, Chr$(0)) - 1)
List1.ItemData(List1.NewIndex) = uProceso.th32ProcessID
res = ProcessNext(hSnapShot, uProceso)
Loop
Call CloseHandle(hSnapShot)
End If

End Sub

Private Sub Form_Load()
RellenaLista
End Sub

Pero me muestra los procesos, no las caption de los .exe abiertos. Y ahi me quede.

Espero que ustedes me puedan ayudar a terminar el proyecto, por que me quede estancado.

Saludos!


En línea

Miseryk

Desconectado Desconectado

Mensajes: 225


SI.NU.SA U.GU.DE (2NE1 - D-Unit)


Ver Perfil
Re: Una mano, me quede trabado.
« Respuesta #1 en: 9 Marzo 2015, 21:25 pm »

Buenas, estuve haciando un cambia caption.
Cambiar la caption de una ventana poniendo yo los datos que quiero etc.

El cambia caption lo hice asi:
(Generen el codigo en su vb para entender mejor)

Y me funciono bien, pero lo que quiero hacer ahora es mejorarlo, de manera que pueda ver los caption es un listbox y cambiandolo dandole click a la caption en la lista y poniendo en un textbox el nombre y dandole al commandbutton bueno, para que ejecute la acción de cambiar la caption.

Lo mas que pude acercarme a eso fue este codigo:
(generenlo en vb para entenderlo mejor)

Pero me muestra los procesos, no las caption de los .exe abiertos. Y ahi me quede.

Espero que ustedes me puedan ayudar a terminar el proyecto, por que me quede estancado.

Saludos!

Código
  1. Private Declare Function GetDesktopWindow Lib "user32" () As Long
  2. Private Declare Function GetWindow Lib "user32" (ByVal hWnd As Long, ByVal wCmd As Long) As Long
  3. Private Declare Function GetWindowText Lib "user32.dll" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
  4. Private Declare Function IsWindowVisible Lib "user32" (ByVal hWnd As Long) As Long
  5.  
  6.  

Código
  1. Private Sub Command1_Click()
  2. List1.Clear
  3.  
  4. 'This code submitted by Sarun101.
  5. Dim DeskTophWnd As Long, WindowhWnd As Long
  6. Dim Buff As String * 255, WindowsCaption() As String
  7. Dim WindowsHandle() As Long
  8. ReDim WindowsCaption(0)
  9. ReDim WindowsHandle(0)
  10. DeskTophWnd = GetDesktopWindow
  11. WindowhWnd = GetWindow(DeskTophWnd, 5)
  12. Do While (WindowhWnd <> 0)
  13.    GetWindowText WindowhWnd, Buff, 255
  14.    If (Trim(Buff) <> "") And (IsWindowVisible(WindowhWnd) > False) Then
  15.        'ShowWindowAsync WindowhWnd, 0
  16.        ReDim Preserve WindowsCaption(UBound(WindowsCaption) + 1)
  17.        ReDim Preserve WindowsHandle(UBound(WindowsHandle) + 1)
  18.        WindowsCaption(UBound(WindowsCaption)) = Buff
  19.        WindowsHandle(UBound(WindowsHandle)) = WindowhWnd
  20.  
  21.        List1.AddItem Buff
  22.    End If
  23.    WindowhWnd = GetWindow(WindowhWnd, 2)
  24.    'Debug.Print WindowhWnd
  25. Loop
  26. 'The caption of window is in WindowsCaption()
  27. 'The handle of window is in WindowsHandle()
  28. End Sub
  29.  

Ahí estás listando todos los Captions de los programas (aunque muchos no aparecen, pero supongo que son todos)


En línea

Can you see it?
The worst is over
The monsters in my head are scared of love
Fallen people listen up! It’s never too late to change our luck
So, don’t let them steal your light
Don’t let them break your stride
There is light on the other side
And you’ll see all the raindrops falling behind
Make it out tonight
it’s a revolution

CL!!!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
GTA San Andreas Trabado!
Juegos y Consolas
Zinc 9 2,896 Último mensaje 8 Julio 2006, 18:40 pm
por Jairo4
me quede sin imagen!
Multimedia
faju 2 1,964 Último mensaje 8 Agosto 2007, 01:51 am
por Songoku
Ccleaner se queda trabado
Software
scr21 6 2,994 Último mensaje 6 Agosto 2011, 22:03 pm
por scr21
Estoy trabado con linset/fluxion
Wireless en Linux
gabrielprocs 1 3,824 Último mensaje 24 Noviembre 2016, 06:25 am
por ELAGUMDQ
[Solved] Oracle REGEXP se queda trabado
Bases de Datos
BlackZeroX 3 3,127 Último mensaje 8 Mayo 2020, 17:29 pm
por BlackZeroX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines