|
412
|
Programación / Programación Visual Basic / Re: Alguien sabe como conseguir esto
|
en: 6 Febrero 2020, 11:07 am
|
Escribe " mouse wheel picturebox vb6" en google. Acostúmbrate a buscar info en inglés porque la mayoría de las cosas están en inglés https://www.recursosvisualbasic.com.ar/htm/listado-api/215-usar-rueda-del-mouse-en-flexgrid-datagrid.htmMírate la sección: "Ejemplo 4 - Ejemplo para usar la rueda del mouse en controles Scrollbar" puedes descargar el código en la página Nota: No te va a hacer zoom pero cambiando los parámentros puedes hacer que te haga zoom. En cualquier buscador puedes encontrar un buen montón de ejemplos, es una de las cosas más demandadas, por principiantes; hacer zoom, redimiensonar, mover el scrolll, voltear, usar el wheel etc.
Aquí tienes para el zoom https://www.recursosvisualbasic.com.ar/htm/listado-api/71-zoom-imagen-stretchbit.htm
mas cosas aquí como hacer una lupa Dim StartX As Single, StartY As Single Private Sub Form_Activate() MousePointer = 11 Picture2.PaintPicture Form1.Picture, 0, 0 Picture1.PaintPicture Picture2.Image, -20, -20, Picture1.Width + 100, Picture1.Height + 100, _ Picture1.Left, Picture1.Top, Picture1.Width, Picture1.Height Picture1.Line (0, 0)-(Picture1.Width - 1, Picture1.Height - 1), 0, B MousePointer = 0 End Sub Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) StartX = X StartY = Y Picture1.AutoRedraw = False End Sub Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Picture1.Left = IIf(X < StartX, Picture1.Left - (StartX - X), Picture1.Left + (X - StartX)) Picture1.Top = IIf(Y < StartY, Picture1.Top - (StartY - Y), Picture1.Top + (Y - StartY)) Picture1.PaintPicture Picture2.Image, -20, -20, Picture1.Width + 100, Picture1.Height + 100, _ Picture1.Left, Picture1.Top, Picture1.Width, Picture1.Height Picture1.Line (0, 0)-(Picture1.Width - 1, Picture1.Height - 1), 0, B End If End Sub Private Sub Picture1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Picture1.AutoRedraw = True End Sub
https://mega.nz/#!6N0lAQDJ!dkAZKkUnQxmX9xS7ZF6Kz-fnQdb1O1-TES9kaB3w9so 62 - Redimensionar imágenes en un PictureBox al estilo Vista previa de imagen
En este enlace un buen montón de códigos para tratamiento de imágenes. https://onedrive.live.com/?authkey=%21AGLMrn20g0JGtX0&id=C9DBA2BC5A16373B%21115&cid=C9DBA2BC5A16373B
|
|
|
413
|
Seguridad Informática / Seguridad / Re: [Duda] Como se si mi computadora es un "Zombie"?
|
en: 6 Febrero 2020, 10:52 am
|
los bots son muy difíciles de detectar. Chequea tu conexión, Abre el cuadro "ejecutar" (Tecla windows + R) una vez abierto teclea "resmon.exe" sin comillas y pulsa "Aceptar", se abrira el monitor de recursos. Ahí puedes ver el rendimiento del CPU, la memoria, y la red. Los bots hacen uso de red y cpu así que si dejas el ordenador en inactivada y ves que el CPU trabaja más de la cuenta (se ven picos altos en la gráfica) y por otro lado el uso de red. Procura que no haya nada descargando o actualizándose (actualizaciones automáticas), desactiva servicios como "ervicio de transferncia inteligente en segundo plano, Windows Update y la actualización automática del antivirus, al igual aplicaciones que tengas activado las actualizaciones automáticas. Entonces nada debería enviar o recibir información a través de la red y en cuyo caso el interambio de datos debe ser muy pequeño, sin picos altos. El CPU igual, pero ten en cuenta que con solo mover la barra de desplazamiento del Monitor de Recursos ya haces uso del CPU y verás como cada vez que lo hagas sale un pico en la gráfica. Además tu CPU puede tener núcleos, entonces no habrá solo una gráfica habrán distintas para cada núcleo. Hay que estar rato observando. Puedes hacer uso del Servicio AntiBotnet que ofrece la Oficina de Seguridad del Internauta. Este servicio comprueba si tu IP está asociada a una Botnet, pero ojo, no el PC si no la IP. una vez detectado un problema es cuestión de encontrar la fuente. Puede que alguien te aconseje instalar X programa mágico que elmina posibles BOTS, pero en mi opinión no me fiaría mucho porque puede que justo al instalar dicho programa estés introduciendo un bot en tu PC o un troyano.
|
|
|
414
|
Programación / Programación Visual Basic / Re: Alguien sabe como conseguir esto
|
en: 5 Febrero 2020, 20:06 pm
|
Fantástico, es perfecto. Tu ayuda ha sido extraordinaria, todo funciona como un reloj. Que opinas sobre los argumentos que le respondí a NEBIRE. Crees que un PictureBox puede hacer lo que hago con el visor, me refiero a que no sea capaz de cargar y visualizar archivos de jpg, son los únicos que maneja mi programa, con nombres largo, con caracteres raros y/o símbolos que no acepta?. Y tampoco entiendo que después de muchas horas buscando en Internet, no he conseguido la info que tu me has dado, buscando específicamente lo referente a Ventanas padre e hijos. Me reitero, mil gracias. Un saludo. Con los rifirafes que tengas con otro usuario yo ahí no me meto, menos si es del staff de este foro que no se si será, que aquí son muy susceptibles. En cuanto a lo del picture el error se produce porque para cargar una imagen debes hacer uso de LoadPicture() para la propiedad Picture de la imagen. Al cargar un nombre extraño no entiende determinados carácteres y se reemplazan por interrogantes, por ejemplo [C:\directorio\鋼拉絲Steel Brushed Stainless.jpg] queda como [C:\directorio\???Steel Brushed Stainless.jpg]. Dado que el archivo ???Steel Brushed Stainless.jpg no existe da error. Da igual el cuadro de diálogo que uses al final debes meterlo en la propiedad la cual va a recibir un directorio que no existe. Por no hablar que no cargar algunos tipos de imagen como imágenes PNG. Abría que investigar un poco el tema, ahora mismo no se me ocurre nada al respeto para solucionarlo. Aquí tienes la explicación, realmente no es un problema del Picture si no de VB6: http://www.cyberactivex.com/UnicodeTutorialVb.htmAunque Visual Basic 6.0 almacena cadenas internamente como Unicode (UTF-16), tiene varias limitaciones:
- Se envía con controles solo ANSI (Etiqueta, Cuadro de texto, etc.). - La ventana de propiedades en IDE es solo ANSI. Las cadenas Unicode se muestran como '????' - PropertyBag convierte automáticamente cadenas Unicode a ANSI. - Las funciones del portapapeles son solo ANSI. - Los menús son solo ANSI.
|
|
|
415
|
Foros Generales / Foro Libre / Re: Urgente necesito encontrar contacto de persona
|
en: 5 Febrero 2020, 19:44 pm
|
El país es Colombia también se la ubicación donde vive actualmente la persona. el fin por el cual la estoy buscando es porque necesito que autorice el traspaso de un vehículo que robaron días atrás ya que el dia de la compra de el vehículo, no se realizo el debido papeleo
se hablara de eso con la persona que me pueda ayudar!!!
MOD: No hacer doble post. Usa el boton modificar.
pues la policía
|
|
|
416
|
Programación / Programación Visual Basic / Re: Alguien sabe como conseguir esto
|
en: 5 Febrero 2020, 19:22 pm
|
a ver, esto lo que hace es inhabilitar la ventana Photos_PhotoCanvas que contiene la imagen. De este modo no se puede usar el ratón (solo en Photos_PhotoCanvas) 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 FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function EnableWindow Lib "user32" _ (ByVal hwnd As Long, ByVal fEnable As Long) As Long Private Sub Command1_Click() Dim hPhotos_PhotoCanvas As Long Dim hPhoto_Lightweight_Viewer As Long TITULODELAVENTANA = "Desierto.jpg - Visualizador de fotos de Windows" '//handle de la ventana hPhoto_Lightweight_Viewer = FindWindow("Photo_Lightweight_Viewer", TITULODELAVENTANA) '//handle del Photos_PhotoCanvas hPhotos_PhotoCanvas = FindWindowEx(hPhoto_Lightweight_Viewer, ByVal 0&, "Photos_PhotoCanvas", vbNullString) Call EnableWindow(hPhotos_PhotoCanvas, vbFalse) End Sub
|
|
|
418
|
Programación / Programación Visual Basic / Re: Alguien sabe como conseguir esto
|
en: 5 Febrero 2020, 17:48 pm
|
Después de cargar la imagen en el visor, llamo al Call de leer los Hwnd's Y después se cierran las ventanas que no quiero, pero no siempre devuelve el Hwnd de algunas ventanas retorna = 0, pero si intercalo un delay de algunos milisegundos (tengo que probar cantos para que no retrase mucho) entre lecturas si devuelve valores correctos. Alguna sugerencia a este respecto?.
usa un do While Do While HWNDParent = 0 HWNDParent = [Buscar handle visualizador de windows] DoEvents '//esto es para evitar que la apliación se quede pillada Loop 'Do While hwnd = 0 '[Abrir imagen en el visualizador de windows correspondiente] 'DoEvents 'Loop
Y como todos estos hijos: - Photos_ButtonEx (Arc&hivo) - Photos_ButtonEx (&Imprimir) - Photos_ButtonEx (Correo &electrónico) - Photos_ButtonEx (&Grabar) - Photos_ButtonEx (&Abrir) - Photos_ButtonEx ("") objeto oculto - Photos_ButtonEx ("") objeto oculto Tienen que estar prohibidos utilizarlos, simplemente cierro la ventana padre:
- Photos_CommandBar
pues no se que habrás hecho Usa ShowWindow y el comando HIDE_WINDOW = 0. Si lo has usado no funciona es que no lo harás bien digo yo. miratelo 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 GetClassName Lib "user32" Alias "GetClassNameA" _ (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Private Declare Function GetNextWindow Lib "user32" Alias "GetWindow" _ (ByVal hwnd As Long, ByVal wFlag As Long) As Long Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long Const HIDE_WINDOW = 0 Const SHOW_OPENWINDOW = 1 Const GW_HWNDNEXT = 2 Const GW_CHILD = 5 Dim TITULODELAVENTANA As String Dim hPhoto_Lightweight_Viewer As Long Dim hPhotos_NavigationPane As Long Dim hPhotos_NavigationBar As Long Dim hPhotos_ButtonEx_1 As Long Dim hPhotos_ButtonEx_2 As Long Dim hPhotos_ButtonEx_3 As Long Dim hPhotos_ButtonEx_4 As Long Dim hPhotos_ButtonEx_5 As Long Private Sub Command1_Click() TITULODELAVENTANA = "Desierto.jpg - Visualizador de fotos de Windows" 'Orden de padre a hijos '1.Photo_Lightweight_Viewer '-----Photos_NavigationPane '------------Photos_NavigationBar '----------------------Photos_ButtonEx '//handle de la ventana hPhoto_Lightweight_Viewer = FindWindow("Photo_Lightweight_Viewer", TITULODELAVENTANA) '//handle del panel 'handle de Photo_Lightweight_Viewer handlePhotos_NavigationPane = FindWindowEx(hPhoto_Lightweight_Viewer, ByVal 0&, "Photos_NavigationPane", vbNullString) '//Handle del control de botones 'handle de hPhotos_NavigationBar handlePhotos_NavigationBar = FindWindowEx(handlePhotos_NavigationPane, ByVal 0&, "Photos_NavigationBar", vbNullString) '//BOTONES '//Como Photos_ButtonEx no tiene hijos a partir de aquí se usa GW_HWNDNEXT '//para obtener el handle del siguiente botón (ventana) 'handle de Photos_ButtonEx (la lupa) hPhotos_ButtonEx_1 = FindWindowEx(handlePhotos_NavigationBar, ByVal 0&, "Photos_ButtonEx", vbNullString) 'handle de Photos_ButtonEx (botón maximizar) hPhotos_ButtonEx_2 = GetWindow(hPhotos_ButtonEx_1, GW_HWNDNEXT) 'handle de Photos_ButtonEx (botón "izquierda") hPhotos_ButtonEx_3 = GetWindow(hPhotos_ButtonEx_2, GW_HWNDNEXT) 'handle de Photos_ButtonEx (botón diapositivas) hPhotos_ButtonEx_4 = GetWindow(hPhotos_ButtonEx_3, GW_HWNDNEXT) 'handle de Photos_ButtonEx (botón "derecha") hPhotos_ButtonEx_5 = GetWindow(hPhotos_ButtonEx_4, GW_HWNDNEXT) 'quitar hPhotos_ButtonEx_1 Call ShowWindow(hPhotos_ButtonEx_1, HIDE_WINDOW) 'quitar hPhotos_ButtonEx_2 Call ShowWindow(hPhotos_ButtonEx_2, HIDE_WINDOW) 'quitar hPhotos_ButtonEx_5 Call ShowWindow(hPhotos_ButtonEx_5, HIDE_WINDOW) End Sub Private Sub Command2_Click() 'mostrar hPhotos_ButtonEx_1 Call ShowWindow(hPhotos_ButtonEx_1, SHOW_OPENWINDOW) 'mostrar hPhotos_ButtonEx_2 Call ShowWindow(hPhotos_ButtonEx_2, SHOW_OPENWINDOW) 'mostrar hPhotos_ButtonEx_5 Call ShowWindow(hPhotos_ButtonEx_5, SHOW_OPENWINDOW) End Sub
|
|
|
419
|
Programación / Programación Visual Basic / Re: Alguien sabe como conseguir esto
|
en: 5 Febrero 2020, 15:20 pm
|
En realidad te equivocas respecto al árbol. Por esta razón no encuentras Photos_commandbar. No has entendido el concepto de ventanas Parents y Childs. Realmente el árbol sería así: Photo_Lightweight_Viewer - Photos_CommandBar - Photos_ButtonEx (Arc&hivo) - Photos_ButtonEx (&Imprimir) - Photos_ButtonEx (Correo &electrónico) - Photos_ButtonEx (&Grabar) - Photos_ButtonEx (&Abrir) - Photos_ButtonEx ("") objeto oculto - Photos_ButtonEx ("") objeto oculto - Photos_PhotoCanvas - ATL:568ED690 - Photos_ButtonEx ("") objeto oculto - Photos_ButtonEx ("") objeto oculto - Photos_ButtonEx ("") objeto oculto - Photos_NavigationPane - Photos_NavigationBar - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación) - Photos_ButtonEx (control de navegación)
Entonces, Photo_Lightweight_Viewer tiene cuatro hijos que son Photos_CommandBar, Photos_PhotoCanvas, ATL:568ED690 (no se lo que es) y Photos_NavigationPaneCon mi código lo que hice fue encontrar primero Photo_Lightweight_Viewer y luego el hijo Photos_NavigationPane mediante éste encuentro su hijo Photos_NavigationBar y despues los botones. Para encontrar Photos_CommandBar necesito el handle (hwnd) del padre que es Photo_Lightweight_Viewer. Por lo tanto para encontrarlo primero encuentras el padre que es hPhoto_Lightweight_Viewer = FindWindow("Photo_Lightweight_Viewer", TITULODELAVENTANA) y después uno de sus hijos que en este caso te interesa Photos_CommandBarhPhotos_commandbar = FindWindowEx(hPhoto_Lightweight_Viewer, ByVal 0&, "Photos_commandbar", vbNullString) Demostración: Dim TITULODELAVENTANA As String Dim hPhoto_Lightweight_Viewer As Long Dim hPhotos_commandbar As Long TITULODELAVENTANA = "demo.jpg - Visualizador de fotos de Windows" hPhoto_Lightweight_Viewer = FindWindow("Photo_Lightweight_Viewer", TITULODELAVENTANA) hPhotos_commandbar = FindWindowEx(hPhoto_Lightweight_Viewer, ByVal 0&, "Photos_commandbar", vbNullString) MsgBox "barra = " & Hex(hPhotos_commandbar)
Por si te sirve te dejo este código para ajustar colores (brillo, contraste, escala de grises, etc) https://mega.nz/#!fBlyUCpQ!Kemdm1iZ52dScMcYy6cfak2VzEV4jZ8pBlByvkrLK_0demostración:
|
|
|
|
|
|
|