Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Pitoniso

#21
Pues eso necesito librarme de un error de un Soft que lo 1ero que el hace es chekear si un DNS existe si no existe me saca un Errorsazo con el nombre del DNS y vamos que no me cuadra que se me vea, por lo que yo hare primero el LookUp y si me da lio a mi que no siga el Soft y pueda mostrar un Error mio... Grx

Help Me.... Ideas...
#22
Cita de: Mr.Chispa en 27 Noviembre 2006, 18:31 PM

on error goto solucion
codigo...
codigo...
codigo...
codigo...
codigo...

solucion:
msgbox err.number & ": " & err.description
'aqui hiria el code que vuelve a donde surgio el error pero no me acuerdo como era

esto es lo que necesitas???

PD: si alguien sabe la linea que tendria que poner para que vuelva a donde ocurrio el error le agraderceria mucho si nos la dicen  :rolleyes:

Bueno vere que hago, ya tenia algo en mente, grx de todas formas, si alguien tiene algo por favor que lo lanze haber si termino mi Soft.... Grxx
#23
Bueno veran tengo un Soft que me genera un Mensaje de Error, y necesito poder ocultar ese mensaje y mostrar uno mio, como si fuese con el Error Next Resume... necesitaria saber alguna informacion especifica de dicho mensaje...ah la misma no se me muestra en la barra de tareas... como es un mensaje es logico... bueno ya saben AYUDA, jajaja..

Alguna idea saludos...

grx antemano..
#24
Cita de: -POLACO- en 23 Noviembre 2006, 04:11 AM
Disculpa pero no entendi bien cuando decis  "Proceso X" ¿¿no te referis a un servicio no ??
Si No es un servicio podes poner un timer que chequee cada x tiempo si el titulo de la ventana de tu "Proceso X" existe .
Si existe ahi tenes el handle de la ventana ,no se si podras ocultarlo pero terminarlo si que podras.

Hay otra manera que te da todas las ventanas activas con su respectivo handle(Lista todas las ventanas).

Me preguntas si se trabajar con el registro del win ,SI se.

Si podes explicate mejor con algun ejemplo de ¿ que queres que haga tu programa ? con respecto a los datos que pueda sacar del "Proceso X" .

El Proceso X ,es otro programa hecho por vos ??
Un saludo

Si bueno en unas de mis explicaciones en otro Tema era que desde mi soft, hago un llamado mediante el Shell en conjunto de unos parametros que admite el soft externo y el mismo me responde con una serie de eventos que no dejan de estar al alcance de ser controlados o supervisados, como algun mensaje de advertencia, error, en fin, lo que sucede es que normalmente el muestra una ventana con informacion delicada que no me cuadra que se muestre por eso vengo a ocultarlo...tambien dicha ventana por X motivos quizas se le pase un parametro mal u algo puede demorarse en mostrarse por lo que tengo que tener mucho cuidado a la hora de buscarla para que se me oculte, si pense en un Timer solo que se me vino a la mente que como una especie de escaneo para saber si el mismo tiene una o varias ventanas activas y ocultarlas...no buscar una o unas especificamente...

Necesito agregar un fichero .Reg.. al Registro de Windows, estuve trasteando la Api RegLoadKey despues de un mete y saca no logre hacer nada pero segun estuve leyendo sus caracteristicas y me dice que no puedo agregar nada al HKEY_CURRENT_USER.... bueno tirame un ojito ahi haber que onda....si quieres te busco el escrito que lei de la misma ayuda del Visual Basic...espero por ti...thx
#25
Reeee...help...

toy trabao con la API RegLoadKey creo que es esa...
#26
Cita de: SheKeL_C$ en 21 Noviembre 2006, 11:26 AM
creo q es esto lo q pides...

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 SW_SHOWNORMAL = 1
Const SW_SHOWHIDE = 0

Private Sub Form_Load()
Dim hWnd        As Long
hWnd = FindWindow(vbNullString, "Mi PC")
If hWnd <> 0 Then
    'ShowWindow hWnd, SW_SHOWHIDE  'esto lo oculta
    'ShowWindow hWnd, SW_SHOWNORMAL ' y esto lo muestra
End If
End Sub


Bueno lo meti en el ciclo de un Timer e inmediantamente que mande a llamar al Soft se oculto espero que no me de mas problemas..aunque sigo con la duda aqui hacemos la busqueda por el nombre de la ventana no seria mas como por el Proceso, o sea saber si un X proceso tiene alguna ventana abierta, yo lo tenia realizado asi buscando la ventana..solo quiero saber si es posible..
#27
Hola tengo un codigo con el cual logro ocultar una X ventana, ahora que sucede que la dicha ventana puede demorarse en mostrarse por X motivos, si yo quisiera que mi Soft al dectetarla la ocultara podria hacerlo con un Timer verdad...

Alguna otra idea...
#28
Cita de: Neoow en 21 Noviembre 2006, 04:52 AM
Hola nesesito ayuda urgente plz.

Quiero hacer que al hacer un click en el boton de mi programa modifique un archivo que esta en la computadora del usario por ejemplo desde mi programa yo quiero marcar Solo lectura a un archivo que esta en C:\WINDOWS\system32\drivers\etc\hosts y eso es todo solo que modifique eso. como lo hago?? ayuda porfavor?

Este Foro no esta echo para resolver tu problema, mas bien para aprender a trabajar con el Visual Basic a medida de las diferentes dificultades que te surgen...cambia el modo de hacer las preguntas....pega eso en el boton y modifica la direccion del archivo...saludos

SetAttr "C:\Prueba.txt", vbReadOnly   ' Se establece el atributto solo lectura
#29
Cita de: -POLACO- en 21 Noviembre 2006, 04:46 AM
Hola viejo aca te dejo un code de El Guille ,yo lo recorte bastante y funciona joya.
Podes ejecutar cualquier .exe dentro del picture.
En Un form pones 1 picture box="picR" y un boton="Command1" .
El codigo completo va en el Formulario chao espero te sirva .-.



Option Explicit

Private objDer As PictureBox
Private hndNotepad As Long
Private Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'------------------------------------------------------------------------------
' APIS para incluir las ventanas en un PictureBox
'------------------------------------------------------------------------------

' Para hacer ventanas hijas
Private Declare Function SetParent Lib "user32" _
    (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
'
' Para mostrar una ventana según el handle (hwnd)
' ShowWindow() Commands
Private Enum eShowWindow
    HIDE_eSW = 0&
    SHOWNORMAL_eSW = 1&
    NORMAL_eSW = 1&
    SHOWMINIMIZED_eSW = 2&
    SHOWMAXIMIZED_eSW = 3&
    MAXIMIZE_eSW = 3&
    SHOWNOACTIVATE_eSW = 4&
    SHOW_eSW = 5&
    MINIMIZE_eSW = 6&
    SHOWMINNOACTIVE_eSW = 7&
    SHOWNA_eSW = 8&
    RESTORE_eSW = 9&
    SHOWDEFAULT_eSW = 10&
    MAX_eSW = 10&
End Enum

Private Declare Function ShowWindow Lib "user32" _
    (ByVal hWnd As Long, ByVal nCmdShow As eShowWindow) As Long
'
' Para posicionar una ventana según su hWnd
Private Declare Function MoveWindow Lib "user32" _
    (ByVal hWnd As Long, ByVal x As Long, ByVal y As Long, _
    ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
'
' Para saber si una ventana es hija de otra
Private Declare Function IsChild Lib "user32" _
    (ByVal hWndParent As Long, ByVal hWnd As Long) As Long

Private Type POINTAPI
    x As Long
    y As Long
End Type
Private Type RECTAPI
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type WINDOWPLACEMENT
    Length As Long
    Flags As Long
    ShowCmd As Long
    ptMinPosition As POINTAPI
    ptMaxPosition As POINTAPI
    rcNormalPosition As RECTAPI
End Type

Private Declare Function GetWindowPlacement Lib "user32" _
    (ByVal hWnd As Long, ByRef lpwndpl As WINDOWPLACEMENT) As Long

' Mostrar el formulario indicado, dentro de picDock
Private Sub dockForm(ByVal formhWnd As Long, _
                     ByVal picDock As PictureBox, _
                     Optional ByVal ajustar As Boolean = True)
    ' Hacer el formulario indicado, un hijo del picDock
    ' Si Ajustar es True, se ajustará al tamaño del contenedor,
    ' si Ajustar es False, se quedará con el tamaño actual.
    Call SetParent(formhWnd, picDock.hWnd)
    posDockForm formhWnd, picDock, ajustar
    Call ShowWindow(formhWnd, NORMAL_eSW)
End Sub

' Posicionar el formulario indicado dentro de picDock
Private Sub posDockForm(ByVal formhWnd As Long, _
                        ByVal picDock As PictureBox, _
                        Optional ByVal ajustar As Boolean = True)
    ' Posicionar el formulario indicado en las coordenadas del picDock
    ' Si Ajustar es True, se ajustará al tamaño del contenedor,
    ' si Ajustar es False, se quedará con el tamaño actual.
    Dim nWidth As Long, nHeight As Long
    Dim wndPl As WINDOWPLACEMENT
    '
    If ajustar Then
        nWidth = picDock.ScaleWidth \ Screen.TwipsPerPixelX
        nHeight = picDock.ScaleHeight \ Screen.TwipsPerPixelY
    Else
        ' el tamaño del formulario que se va a posicionar
        Call GetWindowPlacement(formhWnd, wndPl)
        With wndPl.rcNormalPosition
            nWidth = .Right - .Left
            nHeight = .Bottom - .Top
        End With
    End If
    Call MoveWindow(formhWnd, 0, 0, nWidth, nHeight, True)
End Sub

Private Sub Command1_Click()

    Call Shell("calc.exe", vbNormalFocus) '<<<Podes cambiar por el programa que quieras vos
    '
    Dim s As String
   
    'hndNotepad = FindWindow(s, "Sin título - Bloc de notas")
    hndNotepad = FindWindow(s, "Calculadora") '<<<<--Titulo de la Ventana
    'si es false se ve el exe tal cual es             LEERRRR
    'si es true se ajusta a la ventana bakan
    dockForm hndNotepad, objDer, False
End Sub



Private Sub Form_Load()
   
    Set objDer = picR
   
End Sub




Podemos ser lo mejor y tambien lo peor con la misma facilidad.   Bersuit Vergarabat -POLACO-



Como bien dices es una joya, ahora el tratamiento de las ventanas con el findwindow no puede hacerse por ejemplo con un proceso X, o sea q lo busque y revise si el mismo tiene alguna ventana abierta....y si la tiene que la oculte en este caso...

saludos..

dime si sabes trabajar con el reg e windows...
#30
Yo mando a ejecutar un X Soft desde mi proyecto y logicamente el mismo genera una serie de eventos como mensajes de diferentes tipos de errores o alertas entre otros...

Bien lo q necesito es poder controlar en este caso cualquier accion del mismo. Por ejemplo cuando lo llamo lo hago con una serie de parametros ej:C:\putty -N -C -D 1080 -P 443 -ssh user@dns -pw pass esto me genera una ventana con el titulo del DNS dicha ventana mediante codigo hago q se oculte Todo esto funciona bien siempre y cuando logicamente este todo bien configurado.Ahora hay veces q no todo sale bien y la ventana q deberia ocultar por razones como la de no configurar correctamente el proxy en el putty en este caso no se me oculta...

Una idea es hacer un ciclo hasta q dicha ventana aparezca y una vez oculta se detenga el ciclo pero creo q esto no funcionaria al 100%..

Por eso creo q si lo pudiera echar andar dentro de mi programa tuviera mas control y evitaria asi la muestra de informacion delicada.

Ideas por favorr....