No acostumbro a responder con acotaciones pero el caso me parece que lo precisa...
...trabajo como informático Freelance...
...mis conocimientos en programación tampoco son muy altos...
no lo entiendo.... lo uno no cuadra con lo otro y viceversa, pero bueno...
...Normalmente, esto se hace apretando botones de este programa en cuestión, pero mi cliente quiere que se haga automáticamente... ...Lo que quiere es que, al apretar un botón de mi aplicación, este programa abra un archivo, coja los datos y proporcione una serie de gráficos....
Claro, la gente suele querer que se adivine que piensa y que el programa lo haga automáticamente, otros más razonables (como es el caso de tu cliente) queire que determinadas tareas se automaticen, ya que al parecer son repetitivas y le aburre teclear constantemente la misma secuencia de pasos. Debes tratar de mirar si el programa tiene alguna forma de crear macros nativamente. Si es el caso por ahí lo podrías tantear, peroposiblemente sea limitado paa lo que quiera tu cliente.
...Me he puesto en contacto con el proveedor pidiéndole algún ejemplo de aplicación en Vb.net que interactúe con su programa, o bien, algunos comandos que pudiese utilizar a través de la línea de comandos. Pero no he tenido respuesta…
Es normal, posiblemente haya entendido que quieres pistas para piratear su programa, en cualquier caso está en contra de la política de comercio. Si quieres manipular el motor de un Mercedes, no esperes que el fabricante te diga como hacerlo, sería hacerse la competencia a sí mismo, a lo sumo te dicen que lo que hagas será bajo tu propio riesgo y en dicho caso cualquier manipulación del motor implica toda pérdida de garantías en cuanto a averías y demás... al caso de la informática, esto se entiende peor, ya que manipular el 'motor' no implica sólo hacerlo en ese modelo concreto, sino que tal como es la naturaleza de la informática, cambiar un 'motor' implica cambiar millones, ya que se puede copiar y repartir... el motor de un coche es único, los cambios que hagas a uno, requieren un trabajo y hacerlo alos demás requiere exactamente el mismo trabajo, por eso en informática esto no es aceptable a nivel comercial.
...Por Internet, he encontrado consejos ... ...Insertar una DLL en el espacio de direcciones de la otra aplicación... ...Enviar al bucle de mensajes la secuencia adecuada de mensajes WIN32 para que la aplicación actúe como tú quieras... ...Capturar el bucle global de mensajes del equipo mediante una la inserción de una DLL global. ...Enviar una secuencia de WM_MOUSECLICK para que se abra la ficha correspondiente, luego WM_KEYCHAR con los TAB y los textos a rellenar. ...Modificar una dll del programa en cuestión. ...Interactuar con el registro. ...Interactuar con la ventana activa
Cualquiera de las opciones que apliques que no cuente con el respaldo del fabricante es una clara violación de la ley así te recomiendo que te cubras bien las espaldas antes de acometer algo por el estilo donde tu autoría queda claramente registrada, creo que esto debes tenerlo en cuenta, el peso de la ley recaería sobre ti y sobre tu cliente sólo como inductor al delito, o cómplice a lo sumo.
Por tanto mi consejo es que le digas a tu cliente que si quiere un programa personalizado haga una de dos cosas, te encargue el proyecto entero (con lo cual tu debes asumir toda la funcionalidad del programa pero donde el cliente podrá pedirte constantemente cambios para que sea justo como el quiere), o bién que se ponga en contacto con el fabricante y le solicite la personalización del programa si es que entra dentro de sus cartera del modo de funcionar (si es un mayorista, lo dudo, y en todo caso tendría que donar un riñón).
Resumiendo tu cliente no puede pretender coger una aplicación barata o semibarata (porque se venden cientos de miles de copias) y luego pretender que sea personalizable a nivel de antojo también por 4 monedas que querrá pagarte a ti. Plánteale que (si sientes que estás capacitado) puedes hacerle el programa completo a su antojo, pero al precio que corresponde a fabricar un programa del que se vende sólo 1 copia (1 licencia al menos con las copias que precise su empresa), no a un precio de risa, entonces entenderá y valorará si pulsar 5 teclas en vez de 1 vale o no la pena.
Una alternativa es que si lo que tu cliente más que caprichos es realmente razonable hagas un programa por ti mismo que asuma esos 'defectos' que ese programa tiene y que tenga las 'carencias' que ese programa no tiene y posteriomente se lo presentes a tu cliente y/o a otros potenciales clientes, anotándoles justamente esas virtudes que ellos hechan en falta. Claro esto suponiendo que tu capacidad te permita hacer dicha aplicación completamente y si el precio final de venta es lo suficientemente atractivo dado los posibles clientes a quienes se lo puedas vender... vamos la ley de la oferta y la demanda que tu cliente se quiere saltar a la torera pidíendote que le piratees el programa.