Autor
|
Tema: Abrir Perfiles Chrome desde Visual Basic (Leído 6,341 veces)
|
yunernunez
Desconectado
Mensajes: 6
|
Hola a tod@s...por favor, quisiera que me ayuden con los siguiente: Cómo abrir un perfil específico google desde un botón con Visual Basic; uso este código pero sólo abre el perfil por defecto, supongo que me falta algún argumento... Private Sub Command1_Click() Shell "C:\Program Files\Google\Chrome\Application\chrome.exe", vbNormalFocus End Sub
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
yunernunez
Desconectado
Mensajes: 6
|
ya he intentado con el argumento --user-data-dir= pero no ha funcionado...para medio resolver lo que hice fue desde un botón abrir un archivo .bat el cual contiene la instrucción para abrir el perfil requerido y (que capricho!!) en el archivo .bat si funciona ese argumento esto es lo que usé en el botón de visual basic: Private Sub Command1_Click() Shell "C:\Users\yuner\Desktop\Perfiles\P1.bat" End Sub esto es lo que use en el archivo .bat: start chrome.exe --user-data-dir="C:\Users\yuner\AppData\Local\Google\Chrome\User Data\Profile 1"
|
|
|
En línea
|
|
|
|
EdePC
|
Tendrías que poner la sentencia exacta que no te funciona para revisarlo, supongo que no estás poniendo o escapando las comillas, lo siguiente debería funcionar: Private Sub Command1_Click() Shell "C:\Program Files\Google\Chrome\Application\chrome.exe --profile-directory=""Profile 1""", vbNormalFocus End Sub
- Para escapar las comillas se deben poner dos veces
|
|
|
En línea
|
|
|
|
yunernunez
Desconectado
Mensajes: 6
|
Tendrías que poner la sentencia exacta que no te funciona para revisarlo, supongo que no estás poniendo o escapando las comillas, lo siguiente debería funcionar: Private Sub Command1_Click() Shell "C:\Program Files\Google\Chrome\Application\chrome.exe --profile-directory=""Profile 1""", vbNormalFocus End Sub
- Para escapar las comillas se deben poner dos veces Diste en el clavo..eran las comillas...ahora en el caso de tener varios perfiles abiertos al mismo tiempo, como se haría para cerrar de forma individual cada perfil??...
|
|
|
En línea
|
|
|
|
yunernunez
Desconectado
Mensajes: 6
|
Siguiendo el código facilitado por EdePC, he armado lo siguiente para abrir varios perfiles dando un lapso de 5 segundos entre las aperturas de los mismos: Option Explicit Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Sub Command1_Click() 'abrir el perfil 1 Shell "C:\Program Files\Google\Chrome\Application\chrome.exe --profile-directory=""Profile 1""", vbNormalFocus 'esperar 5 segundos Sleep 5000 'abrir el perfil 2 Shell "C:\Program Files\Google\Chrome\Application\chrome.exe --profile-directory=""Profile 2""", vbNormalFocus 'esperar 5 segundos Sleep 5000 End Sub
pero no se como cerrar los perfiles uno a uno...
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
pero no se como cerrar los perfiles uno a uno...
Hola! En vez de usar Shell podrías usar la API CreateProcess para obtener el pid del proceso del navegador y luego cerrarlo (junto con los procesos "hijos", ya que cada tab crea un proceso nuevo). Busca en inet cómo usar dicha API y cómo terminar un proceso y sus "hijos" (usando API's también). Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
EdePC
|
Ahí ya lo complicas bastante porque en realidad Shell si hace su trabajo y devuelve el PID que deberías usar para cerrar el proceso PERO Chrome administra sus propios procesos y el PID original ya ni va ha existir después. En circunstancias normales esto debería funcionar: Dim pid As Double pid = Shell("C:\Program Files\Google\Chrome\Application\chrome.exe --profile-directory=""Profile 1""", vbNormalFocus) Shell "TaskKill /Pid " & pid
- Pero no funciona porque Chrome administra sus propios procesos, es decir, el primer Shell llama a Chrome y recibe el PID pero luego el propio Chrome abre otros procesos con varios PID y el PID original se cierra solo. Incluso si intentas capturar los procesos en un Proceso Padre no funciona porque Chrome recicla sus procesos activos haciendo imposible saber por ahí cual es el PID del proceso nuevo, y si cierras el proceso padre, cierras todo el Chrome XD Tampoco veo nada significante en la línea de comandos de los procesos creados para identificar a que Perfil pertenece, habrá que pensar en otra cosa
|
|
|
En línea
|
|
|
|
yunernunez
Desconectado
Mensajes: 6
|
Gracias MCKSys Argentina y EdePC me han orientado muchísimo..seguiré investigando
|
|
|
En línea
|
|
|
|
yunernunez
Desconectado
Mensajes: 6
|
chicos pues he seguido buscando como cerrar un perfil chrome desde visual basic y hasta los momentos no he encontrado una respuesta (o mejor decir: un código) así que pensé en una "solución gráfica", la idea es cerrar el perfil por medio de un clic en la X de la ventana del perfil. Se que hay softwares autoclickers que se programan por medio de coordenadas en pantalla, el detalle es que tendría que ejecutar dos programas (el visual basic para abrir el perfil y el autoclicker para cerrarlo) y no esa no es la idea....buscando me encontré con este código que creo hace clic en las coordenadas dadas pero no lo comprendo, pudiera alguien explicarme como usarlo?
moverlo con la api SetCursorPos X, Y
Private Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
y con este api es para forzar el click
Private Declare Sub mouse_event Lib "USER32"(ByVal dwFlags As Long, ByVal dx As Long,ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)
estas son las vanderas
Private Const MOUSEEVENTF_LEFTDOWN = &H2 Private Const MOUSEEVENTF_LEFTUP = &H4
y esto es para que presione y levante el click
mouse_event(MOUSEEVENTF_LEFTDOWN, X, Y, 0, 0) mouse_event(MOUSEEVENTF_LEFTUP, X, Y, 0, 0)
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
abrir, cerrar puertos en visual basic
Programación Visual Basic
|
rubeng
|
4
|
6,189
|
7 Octubre 2006, 10:58 am
por fraktal
|
|
|
abrir 2 tablas con visual basic
Programación Visual Basic
|
CARRY-ON
|
2
|
3,950
|
8 Septiembre 2007, 03:43 am
por CARRY-ON
|
|
|
por que no puedo abrir mis proyectos en visual basic
Programación Visual Basic
|
elguast
|
1
|
3,988
|
9 Enero 2008, 23:05 pm
por Hans el Topo
|
|
|
Problema al abrir Visual Basic (se abre un instalador)
Programación Visual Basic
|
rob1104
|
5
|
7,515
|
3 Octubre 2008, 08:35 am
por WestOn
|
|
|
[Resuelto] visual basic.net abrir un formulario en un panel
« 1 2 »
Programación Visual Basic
|
otakuzz
|
14
|
14,160
|
15 Septiembre 2014, 17:44 pm
por XresH
|
|