Problema para nota... Take Command.

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • jmtella
    Administrator
    • Nov
    • 20586

    Problema para nota... Take Command.

    Hasta hace unos días me funcionaba (Take Command ultima versión), pero hoy lo lanzo y me envía un mensaje Handle Invalido "AttachConsole" y se cierra. Lo lanzo como Administrador y funciona... pero más grave todavía:

    * Lo lanzo desde una consola de comando abierta normal... y funciona.
    * Lo lanzo desde un enlace directo recién creado... y el mismo error.
    * Evidentemente si lo lanzo desde un enlace directo pero apuntando a cmd /c start "" "O:\Program Files\JPSoft\TCMD18_x64\tcmd.exe"... funciona también

    ¿Dónde están las meigas?


  • jmtella
    Administrator
    • Nov
    • 20586

    #2
    Algo he visto...si le quito "eso" y le pongo cualquier path... funciona... (y no hay ninguna DLL que puede cargarse de otro sitio)....

    O sea...ni puta idea...

    Comentario


    • ROSQUI®
      ROSQUI® comentó
      Editar un comentario
      repara el Registro... debe estar tocado.... usa Ccleaner... :-P
  • jmtella
    Administrator
    • Nov
    • 20586

    #3
    Rosqui...que alguien te va a leer, te va a hacer caso y la cagamos... es problema de carga de recursos pero el registro ya te digo que no tiene que ver...y el CCleaner asesino...

    Comentario

    • ROSQUI®
      Senior Member
      • Dec
      • 530

      #4
      no temas, el único luser que habita AKA es el menda.... :/
      Saludos
      ROSQUI®
      [Uncertified GP]

      Comentario

      • RSola
        Senior Member
        • Jan
        • 288

        #5
        La documentación de AttachConsole: https://msdn.microsoft.com/en-us/library/ms681952.aspx

        Attaches the calling process to the console of the specified process.
        Parameters
        dwProcessId [in]
        The identifier of the process whose console is to be used. This parameter can be one of the following values.
        pid Use the console of the specified process.
        ATTACH_PARENT_PROCESS (DWORD)-1 Use the console of the parent of the current process.

        Remarks

        A process can be attached to at most one console. If the calling process is already attached to a console, the error code returned is ERROR_ACCESS_DENIED (5). If the specified process does not have a console, the error code returned is ERROR_INVALID_HANDLE (6). If the specified process does not exist, the error code returned is ERROR_GEN_FAILURE (31).
        La clave estará en averiguar para qué propósito está usando la función, qué identificador se pasa (con un breakpoint en un depurador, y en tal caso observar si el proceso correspondiente tiene asociada una consola) y si el error se maneja de alguna manera o simplemente se confía en que la función "no deba fallar". También sería importante saber si la cabecera PE del ejecutable tcmd.exe especifica subsistema GUI o consola: si es GUI carece de consola propia (usaría AttachConsole para asociarse a una consola existente); si es consola el sistema le daría una, con lo cual AttachConsole debería dar el error 5 a menos que el programa empleara antes FreeConsole para deshacerse de su consola actual.
        En fin, debugger, debugger, debugger.
        Ramón Sola

        Comentario

        • jmtella
          Administrator
          • Nov
          • 20586

          #6
          Originalmente publicado por RSola Ver Mensaje
          La documentación de AttachConsole: https://msdn.microsoft.com/en-us/library/ms681952.aspx


          La clave estará en averiguar para qué propósito está usando la función, qué identificador se pasa (con un breakpoint en un depurador, y en tal caso observar si el proceso correspondiente tiene asociada una consola) y si el error se maneja de alguna manera o simplemente se confía en que la función "no deba fallar". También sería importante saber si la cabecera PE del ejecutable tcmd.exe especifica subsistema GUI o consola: si es GUI carece de consola propia (usaría AttachConsole para asociarse a una consola existente); si es consola el sistema le daría una, con lo cual AttachConsole debería dar el error 5 a menos que el programa empleara antes FreeConsole para deshacerse de su consola actual.
          En fin, debugger, debugger, debugger.
          ES GUI, pero usa el atach console para el tcc.exe que lo mete "dentro" de su ventana principal. Es decir el tcdm arranca el tcc que es aplicación de consola.

          Pero el problema es que solo me pasa en una maquina... y solo pasa cuando el "camino" de la aplicación en el enlace directo es el de la aplicación.

          Comentario

          Trabajando...
          X