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

 

 


Tema destacado: Curso de javascript por TickTack


  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
71  Programación / Programación Visual Basic / Re: Abrir ejecutable en un form - ¿Es posible abrir Chrome? en: 6 Febrero 2015, 21:24 pm
Por cierto, mi GetModuleFileName no falla, porque se está llamando desde el mismo programa, seguramente GetModuleFileName debe leer la posición de memoria local en relación a ese HMODULE, por éso nunca va a leer otro programa. Cuando llegue a casa veo este tema.
72  Programación / Programación Visual Basic / Re: Abrir ejecutable en un form - ¿Es posible abrir Chrome? en: 6 Febrero 2015, 21:00 pm
¿Sin hardcodear? jajaja, ¿Eso está en el diccionario? ¿Qué significa? Es igual, lo supongo :P

"sin hardcodear" otra forma que hay de obtener el /Program files/ del sistema que tenía por ahí guardada y que estaba buscando es esta:

Código
  1. Private Sub Command1_Click()
  2. Dim X As Variant
  3. Dim Y As Variant
  4.   Set X = CreateObject("Wscript.Shell")
  5.    Set Y = X.Environment("Process")
  6.    Print Y("PROGRAMFILES")
  7. End Sub


En cuanto  a lo que has posteado  Miseryk , lo de GetModuleHandle no lo he probado y no se muy bien como va. He probado lo siguiente:
Código
  1. Dim hModule%, Buffer$, Length%, Msg$
  2.         hModule% = GetModuleHandle("notepad.exe")
  3.         Buffer$ = Space$(255)
  4.         Length% = GetModuleFileName(hModule%, Buffer$, Len(Buffer$))
  5.         Buffer$ = Left$(Buffer$, Length%)
  6.         Msg$ = Buffer$
  7.         Msgbox Msg$
:

Pero me da el directorio de VB6.EXE y no el del notepad.exe en este caso, ni siquiera estando en ejecución. He probado sustituyendo hModule% por el hande de la aplicación (en ejecución). Pero nada, que tampoco.

Al usar NULL supongo que tu vas por C++ y no VB, ya que NULL  no es válido en VB6, en sustitución sería vbNull


Bueno, como en internet son todos unos perdedores de *****, me imaginé que el path debía estar adentro de cada EXE, y por lo que pude ver en todos los programas abiertos en W7 32 bits, encontré un addres que contiene el path el cual es: (FUNCIONA CON EL 90% de los programas como OPERA, WINAMP, VB6, la ***** del McAfee, etc), también por lo que pude ver es que si abrís un proyecto de VB6, te toma el path de donde se abrió ese proyecto, muy loco, pero sinó vá a mostrar lo que vos andás buscando.

kernel32.dll+C6320 (UNICODE)

Agregala al cheatengine y andá attachando cada EXE y vás a ver que se carga el path de ese EXE. (Y)

PD: en algunos EXEs del systema no toma el path, pero funcionó con Winlogon y demás.

PD2: si el programa está hecho con una dll en especial, también hay un path con el que funciona el cual es:

msvcrt.dll+A3878 (MULTIBYTE)

PD3: el que quiera ayudar es bienvenido xDDDD la verdad que no me lo puse a ver bien, habría que investigar como funciona el taskmgr y copiar su funcionalidad.

Saludos.
73  Programación / Programación Visual Basic / Re: Abrir ejecutable en un form - ¿Es posible abrir Chrome? en: 4 Febrero 2015, 14:22 pm
Si claro que se puede. Se me ocurren varias maneras.

Pero antes de nada permíteme corregir unas líneas del código que te he dado antes. Hice un copia y pega de mi propio código en Form_Unload y se han colado un par de líneas que no tienen utilidad ahí, se trata de la variable hWndChild   que fue un intento de introducir sólamente la Web en el Picture, funcionaba con el Notepad por ejemplo, pero no con Google Chrome. Lo borré en otras partes del código, pero no en el Form_Load, se me pasó. También está lo de Espera(5) que si que es necesario más arriba, porque hay que esperar a que se cargue Google Chrome antes de introducirlo en el Picture, pero para cerrar no hace falta.

Código
  1. Private Sub Form_Unload(Cancel As Integer)
  2.    Dim hwnd As Long
  3.    Dim hWndChild As Long  '<---- BORRAR ESTA LÍNEA
  4.    'Espera (5) '<---- BORRAR ESTA LÍNEA
  5.    hwnd = FindWindow("Chrome_WidgetWin_1", vbNullString)
  6.    Call Cerrar_Google(hwnd) 'cierra Google
  7. End Sub

Debería ser así:

Código
  1. Private Sub Form_Unload(Cancel As Integer)
  2.    Dim hwnd As Long
  3.    hwnd = FindWindow("Chrome_WidgetWin_1", vbNullString)
  4.    Call Cerrar_Google(hwnd) 'cierra Google
  5. End Sub

En cuanto a lo de
- Primera opción: Crear un código de busqueda de Chrome.exe y obtener su directorio (ideal para programas que al actualizarse van cambiando la ubicación) por ejemplo si fuera "\Google\Chrome\Application\V0014\Chrome.exe" y al actualizarse cambiara a  "\Google\Chrome\Application\V00321\Chrome.exe". Que no es el caso. Te lo digo por si alguna vez te encuentras alguna cosa así.

- Segunda opción: Obtener mediante la función Environ el directorio de \program files\ del sistema:
Código
  1. Private Sub Command1_Click()
  2. Print Environ("programfiles")
  3. End Sub
  4.  
y luego añades el resto  "\Google\Chrome\Application\chrome.exe"
Código
  1. Print Environ("programfiles") & "\Google\Chrome\Application\chrome.exe"

- Tercera opción: accediendo al registro de windows





Sin hardcodear:

Código
  1. GetModuleFileName(NULL, EXEFullPath, MAX_PATH);
  2.  

El NULL es el baseaddress, yo lo llamo desde un hook (DLL) y cuando pasa por una función mia, estoy seguro que es del thread del mismo exe y no de mi thread de la DLL.

PD: éso si está en ejecución, de lo contrario es fijarse en el Registro en donde está la lista de todos los programas instalados.
74  Programación / Programación Visual Basic / Re: Uso de TLB en: 2 Enero 2015, 20:37 pm
Holas,alguien me enseñaria o me pasara algun link de  como usar TLB para llamar a las Api's(VB6) :huh: ??

Saludos

Qué sería TBL?
75  Programación / Programación Visual Basic / Re: delimitador vbcrlf en: 15 Diciembre 2014, 13:18 pm
Código
  1. Private Sub Command1_Click()
  2. Dim zBytes() As Byte
  3.  
  4. zBytes = StrConv(Text1.Text, vbFromUnicode)
  5. Stop
  6. End Sub
  7.  
76  Programación / Programación Visual Basic / Re: delimitador vbcrlf en: 10 Diciembre 2014, 13:15 pm
Lo último que haría, es copiar el código de la página a un textbox y con un botón pasaría de letras a bytes y analizaría que es lo que "simula" (o lo que es) un cambio de línea.

Saludos.
77  Programación / Programación Visual Basic / Re: delimitador vbcrlf en: 9 Diciembre 2014, 16:24 pm
hola gente, estoy manejando una cadena que obtengo de la fuente de una pagina en html y lo printeo en un richtextbox, lo que quiero es que el salto de linea sea el delimitador usado en un split o for each, me da igual, el problema es que no me lo toma.. es como si fuera un string solo.

Código
  1. NumberFile = FreeFile
  2. For Each daTos In Split(txtUrl.Text, vbNewLine + vbCrLf)
  3. Open App.Path & "/Date1.txt" For Output As #NumberFile
  4. Print #NumberFile, daTos
  5. Next daTos
  6. Close #NumberFile

Mi idea es el codigo html obtenido de la pagina guardarlo en un txt de la misma forma con los saltos de linea y eso pero no puedo.. me lo guarda pero es uuna cadena sola que sale con cuadrados q creo que son el salto de linea.

se agradece!
saluddd

Intentá con el delimitador Chr(13) => Split(..., Chr(13))
78  Programación / Bases de Datos / Re: [AYUDA] SQL Query en: 28 Noviembre 2014, 14:29 pm
Bueno, por los pocos ejemplos que encontré era de la manera la cual pregunté, aunque al SO no le gusta y explota, pero bueno ahora sé como se puede optimizar, gracias (Y)

Saludos.
79  Programación / Bases de Datos / Re: [AYUDA] SQL Query en: 28 Noviembre 2014, 13:22 pm
Para acortar code podrías usar WHERE name NOT IN (). Podrías crearte una tabla auxiliar que contenga todos los nombres que no quieres (sería más fácil de mantener que no tener que estar tocando los fuentes sin parar) y luego descartarlos con una subconsulta. Un ejemplo por si te sirve:

http://www.java2s.com/Tutorial/MySQL/0040__Select-Query/UsingNOTINwithsubquery.htm

EDIT: ¿qué tienen en común todos esos nombres para que quieras excluirlos? ¿algún valor en algún campo? Igual lo estás complicando demasiado y es suficiente con filtrar por ese campo.

Saludos.



El tema es que no puedo crear tablas, en realidad dí un ejemplo básico para que se tenga una idea, pero realmente es un hook en windows y patcheo un query, entonces con el tema de la memoria quería limitar la longitud y de paso entender como optimizarlo.

Por lo que estuve viendo el NOT IN necesita un query adentro como SELECT, se puede hacer algo como:

Código
  1. ... WHERE Name NOT IN ('Pepe', 'Juan' ....)???
  2.  

Saludos.
80  Programación / Bases de Datos / [AYUDA] SQL Query en: 27 Noviembre 2014, 18:49 pm
Buenas tardes a todos, no sé si realmente ésto va acá o en Programación General, bueno mi cuestión es la siguiente:

Yo tengo una consulta como por ejemplo Select * From tbNombres;

La cual me puede traer muchos nombres, como "Pepe", "Juan", etc. El punto es que si quiero filtrar ciertos nombres como Pepes, Juan y otros más, que el query no se me haga de 5 renglones, ya que actualmente estoy usándolo de la siguiente manera:

Código
  1. SELECT * FROM tbNombres WHERE Name!='Pepe' AND Name!='Juan' AND Name!='Carlos' AND Name!='Luis' AND Name!='Alberto' AND Name!='Horacio' AND Name!='Tito' AND Name!='Marito' AND Name!='Oscar' AND Name!='Julieta' AND Name!='Florencia' AND Name!='Rocatalegiata' AND Name!='Raul' AND ...
  2.  

Es decir que tengo una tabla con miles de nombres y no quiero que me traiga unos 200 determinados, tal vez esté haciendo mal el query, lo cual es probable porque no sé programar en SQL, alguno me podría orientar?

Desde ya muchas gracias, sigo buscando mientras (Y)
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
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines