Página 1 de 2
API en C++
Publicado: 16 Oct 2013, 16:18
por mikeeps2
hola todos , alguien sabe como trabajar con C++ , y usar el api para usarlo con autoit
gracias
Re: API en C++
Publicado: 16 Oct 2013, 17:11
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!
Re: API en C++
Publicado: 16 Oct 2013, 19:47
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
Re: API en C++
Publicado: 17 Oct 2013, 01:16
por Dany
pero seguro que tiene Bibliotecas de enlace dinámico? pasa alguna documentación...
Re: API en C++
Publicado: 17 Oct 2013, 02:53
por mikeeps2
hola dany , mira esta es la informacionm que tengo
Re: API en C++
Publicado: 17 Oct 2013, 05:09
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
saludos
Re: API en C++
Publicado: 17 Oct 2013, 14:41
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
Re: API en C++
Publicado: 17 Oct 2013, 17:41
por Dany
el clientdemo te funciona? osea metes la ip y todo eso y te ves las camaras?
Re: API en C++
Publicado: 17 Oct 2013, 18:24
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
Re: API en C++
Publicado: 17 Oct 2013, 20:18
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
saludos
Re: API en C++
Publicado: 18 Oct 2013, 17:24
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
Re: API en C++
Publicado: 18 Oct 2013, 17:28
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
esta bien largo el code. ojala se pueda hacer algo.
Re: API en C++
Publicado: 18 Oct 2013, 19:01
por mikeeps2
dany pero donde tu vives que tienes tan poca velocidad ..
ojala puedas dar alguna solucion con eso de las camaras
Re: API en C++
Publicado: 18 Oct 2013, 19:17
por Dany
Vivo en Venezuela en la parte andina.
Pues ta Difícil ando mirando y no he logrado nada :S
saludos
Re: API en C++
Publicado: 21 Oct 2013, 05:06
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 ,
Re: API en C++
Publicado: 21 Oct 2013, 09:23
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
Re: API en C++
Publicado: 21 Oct 2013, 14:32
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
Re: API en C++
Publicado: 21 Oct 2013, 15:21
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.
Re: API en C++
Publicado: 21 Oct 2013, 22:18
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
Re: API en C++
Publicado: 22 Oct 2013, 04:35
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