API en C++

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

API en C++

Mensaje por mikeeps2 »

hola todos , alguien sabe como trabajar con C++ , y usar el api para usarlo con autoit

gracias
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: API en C++

Mensaje por arkcrew »

Buenas,

no se si será esto a lo que te refieres, pero puedes crear dlls en C++ y usarlas desde autoit con el dllcall.

Saludos!
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

bueno en realidad no se casi nada de autoit , y de C++ menos que menos , solo es que ando aprendiendo autoit , casi nada mas bien copy y paste jajja de los ejemplos ...

bueno , el caso es que encontre el API de mi systema de DVR se securidad de mi casa ,pero esta en C++ entonces queria hacer una aplicacion pequenita , solo que me muestre las 4 camaras , no se si me hago entender , como hago para mandarte lo que tengo
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

pero seguro que tiene Bibliotecas de enlace dinámico? pasa alguna documentación...

:smt027
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

hola dany , mira esta es la informacionm que tengo
Adjuntos
DVR-API.rar
(1.03 MiB) Descargado 188 veces
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

Pues por lo que medio vi si es posible lo que quieres. pero de verdad con los pocos conocimientos de autoit que tienes no podrías. de verdad que hacer lo que quieres requiere que sepas al menos un 50% mas de lo que sabes. quizás mañana mire y haga algo. aunque si tener el hardware es un poco complicado :S :smt027

saludos
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

dany , mil gracias , si la verdad , yo no se ni papa de autoit , solo lo que ustedes me han ensenado , basicamente , lo que ando buscando hacer , es algun script pequeno , que solo salgan las 4 camaras , seria cuadro , dividido en 4 , o por separado no importa , yo las agrupo en mi programa luego , y si es posible cuando se pinche en cada cuadro de cada camara , que se haga grande en la pantalla completa .... , yo no necesito ningun boton de ajustes , o de setting del equipo , nada de eso , si necesitas el ip de las camaras , el puerto , el username y pass , me avisas


dany dentro de esa carpeta hay un folder llamado bin-en , abres el clientdemo y te abre un demo , si ves hay 4 cuadros a mano isquierda y a mano derecha todos los setting , pues a mi no me interesa nada de setting , solo las camaras
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

el clientdemo te funciona? osea metes la ip y todo eso y te ves las camaras?
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

si funciona , si quieres te paso por privado los datos , pero lo unico malo de ese client demo es que a mano isquierda hay que seleccionar camara por camara en cada cuadro , pero cuando lo cierras y abres de nuevo , se va esa configuracion , hay que hacerlo de nuevo , yo pensaba usar ese mismo programita pero asi como esta que hay que configurarlo cada ves que lo abra es un rollo


ya te mande eso al privado

para entrarle los datos , cuando habras el cliendemo , a mano derecha esta la palabra test , ahi dale click derecho en add , luego en ese cuadro pones los datos que te mande
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

Ok dale al rato lo pruebo que ando en el trabajo y el internet es una mierda :S 1.5 kb/s :S :smt022


:smt027
saludos
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

ok dany , que internet mas lenta , ni en cuba hay esa internet ya jajjaja bueno yo aqui en usa miami , tengo 100 mega
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

Yo lo maximo que agarro son unos 120 kb/s de madrugada. En mi pueblo a juro llega el internet jajajaja

Ando mirando el clientdemo :smt024 esta bien largo el code. ojala se pueda hacer algo. :smt027
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

dany pero donde tu vives que tienes tan poca velocidad ..

ojala puedas dar alguna solucion con eso de las camaras
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

Vivo en Venezuela en la parte andina.

Pues ta Difícil ando mirando y no he logrado nada :S :smt011


saludos
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

dany abristes el cliendemo , vistes las camaras ,una pregunta , en alguna parte del cliendemo configuracion se podra dejar abilitado para cuando se abra el programita se vean las camaras de una , porque el ulktimo caso , se podria llamar con autoit el programita clientdemo , enmarcar solo el cuadro que contiene las 4 camaras , pero en ese caso , deberia salirse de una las 4 camaras , no se si mediante comandos de send o mouseclick , no se ,
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

Bueno lo que se me ocurre hacer es algo así.

Código: Seleccionar todo

#include <GuiTreeView.au3>

Local $IP,$Name,$ID,$nCamaras,$nCcanales,$Pass,$Usuario,$Puerto

;Datos
$IP=""
$Puerto=""
$Name="Test"
$nCamaras="4"
$nCcanales="4"
$ID="0"
$Pass=""
$Usuario=""

Local $Info="<INFO>" & @CRLF & _
"<ip>" & $IP & "<ip2>" & $IP & "</ip2>" & @CRLF & _
"<DEVICENAME>" & $Name & "</DEVICENAME>" & @CRLF & _
"<nTotalChannel>" & $nCamaras & "</nTotalChannel>" & @CRLF & _
"<username>"& $Usuario &"</username>" & @CRLF & _
"<port>"& $Puerto &"</port>" & @CRLF & _
"<pwd>" & $Pass & "</pwd>" & @CRLF & _
"<byChanNum>"& $nCcanales &"</byChanNum>" & @CRLF & _
"<lID>" & $ID & "</lID>" & @CRLF & _
"</ip>" & @CRLF & _
"</INFO>"

Local $hfile=FileOpen("UserInfo.xml",2)
FileWrite($hfile,$Info)
FileClose($hfile)


ShellExecute("ClientDemo.exe")
WinActivate("ClientDemo")
WinWaitActive("ClientDemo")
Local $hTreeView,$hItem,$Pos
$Pos=WinGetPos("ClientDemo")

;Camara Uno
ControlClick("ClientDemo","", "[CLASS:#32770; INSTANCE:6]")
ControlTreeView("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]","Select","Test")
$hTreeView=ControlGetHandle("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]")
$hItem=_GUICtrlTreeView_GetSelection($hTreeView)
_GUICtrlTreeView_ClickItem($hTreeView, $hItem,"left",false,2)
ControlTreeView("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]","Select","Test|CAM 1")
$hItem=_GUICtrlTreeView_GetSelection($hTreeView)
_GUICtrlTreeView_ClickItem($hTreeView, $hItem,"left",false,2)

Sleep(100)
;Camara Dos
ControlClick("ClientDemo","", "[CLASS:#32770; INSTANCE:7]")
ControlTreeView("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]","Select","Test|CAM 2")
$hTreeView=ControlGetHandle("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]")
$hItem=_GUICtrlTreeView_GetSelection($hTreeView)
_GUICtrlTreeView_ClickItem($hTreeView, $hItem,"left",false,2)

Sleep(100)
;Camara Tres
ControlClick("ClientDemo","", "[CLASS:#32770; INSTANCE:8]")
ControlTreeView("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]","Select","Test|CAM 3")
$hTreeView=ControlGetHandle("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]")
$hItem=_GUICtrlTreeView_GetSelection($hTreeView)
_GUICtrlTreeView_ClickItem($hTreeView, $hItem,"left",false,2)

Sleep(100)
;Camara Cuatro
ControlClick("ClientDemo","", "[CLASS:#32770; INSTANCE:9]")
ControlTreeView("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]","Select","Test|CAM 4")
$hTreeView=ControlGetHandle("ClientDemo","","[CLASS:SysTreeView32; INSTANCE:1]")
$hItem=_GUICtrlTreeView_GetSelection($hTreeView)
_GUICtrlTreeView_ClickItem($hTreeView, $hItem,"left",false,2)

WinMove("ClientDemo", "",Default , Default, $Pos[2]-240, $Pos[3]-60)

Creo que esa seria la mejor forma de automatizarlo.


Prueba y me avisas. Coloca el usuario password y IP respectivamente.

Colocas el script en el directorio donde esta clientdemo.exe


Saludos
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

conooooooooooo que bien trabaja eso , funciona bien , te la comistes , una cocita , sera posible ,agregarle alguna funcion que cuando pinche cada camara se ponga full cuadro , el cliendemo no lo hace , pero no se si se podra hacer la puncion que llamando a cada camara llene el cuadro , seria click en cada camara , se pone full cuadro esa camara , y si se click de nuevo el cuadro salgan las 4 camaras de nuevo

ahora voy a hacer las pruebas para imcoporarlo a mi programa , que es el lo llamara con un botton ,lo que no se si podre reducir el cuadro de las 4 camaras pa que salga en 800x510 mas o menos es el cuadro en el programa que el iria encentrado , dejame provar
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

Creo que si se puede hacer lo de poner la cámara completa al pincharla?

pero al pinchar donde? en la imagen? o donde?


lo de cambiar el tamaño si esta un poco mas difícil. para cambiar el tamaño de la ventana si. pero el tamaño de los controles donde sale las imagenes creo que no se pueda.
  • ............................................Imagen
    ......................................Imagen
mikeeps2
Hacker del Foro
Mensajes: 103
Registrado: 24 May 2008, 16:34

Re: API en C++

Mensaje por mikeeps2 »

lo de ampliar cada camara por separada seria la mejor option que haya , si se puede al pinchar cada camara mejor , osea , picha en cam1 y se abra toda la camara 1 full , luego para cerrarla y que vuelva a estar las 4 camaras , y asi sucesivamente ,o como sea mas facil


lo de cambiar el tamano total me referia , porque le puse al final asi

WinMove("ClientDemo", "", 0, 60, 780, 580) y me da el resultado que quiero pero las camaras de abajo salen solo la mitad , yo decia , que si cada cuadro reducirlo , para que todas s encentren , pero como estamos usando el tamano del cliedemo , sera difcil creo ......claro que con este comando se reduce a ese tamano el cuadro final , porque al principio el abre full todo el programa para ir settiando cada camara , se podra reducir desde el principio ?

aunque probe quitarle el frame al cuadro , para asi decir algo , pero no lo logre , yo siempre usaba este comando

$WS_POPUP

se lo puse pero no hiso nada , aver si asi ganaba algo de reducion
Avatar de Usuario
Dany
Profesional del Autoit
Mensajes: 651
Registrado: 28 Mar 2012, 22:49

Re: API en C++

Mensaje por Dany »

La unica forma de hacer que los cuadritos sean mas pequeños es modificar ese condigo fuente en C++ y compilar ese proyecto de nuevo.

Saludos
  • ............................................Imagen
    ......................................Imagen
Responder