Existe-t-il une commande .bat pour manipuler un logiciel ?

Résolu/Fermé
Anthox - 29 août 2022 à 23:28
 Jack_animated - 20 déc. 2022 à 10:32

Bonjour,

Dans OBS Studio (logiciel de streaming et/ou recording), lorsqu'on intègre une webcam avec certains réglage spécifique (zoom, luminosité, etc), ces réglages disparaissent dès que le pc redémarre.

Pour éviter de devoir remettre mes paramètres à chaque fois que je redémarre mon pc, j'utilise un logiciel qui permet de les sauvegarder (c'est CamooZ).  Cependant, lorsque je le démarre, il me demande impérativement sur quel profil je veux aller. En d'autres termes, le logiciel est vide au démarrage et c'est à nous de sélectionner le profil que l'on a sauvegardé plus tôt et de l'uploader. Ainsi, il remet les paramètres que l'on a choisis (et OBS reçoit les valeurs finales).

Cependant, ca nécessite une manipulation sur le logiciel. Etant un maniaque de l'optimisation, j'ai, tout d'abord, créé un fichier bat me permettant d'ouvrir les 2 logiciels (camooz et OBS) en simultanée. Néanmoins, existe-t-il une commande permettant de manipuler directement un logiciel ? Ou dois-je plutôt me rabattre sur du code style C++ ? 

Merci à l'avance pour vos réponses !

A voir également:

4 réponses

barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 918
30 août 2022 à 10:58

Bonjour,

Ca dépend si le logiciel est prévu pour ou pas. Dans le cas de Camooz ça semble être le cas :

https://obsproject.com/forum/resources/camooz-save-restore-camera-settings.1271/updates?page=2#resource-update-4034



0

Génial ! Merci infiniment ! Saurez-vous me dire comment ? (je suis une bille en code, j'ai juste appris quelques trucs grâce à internet)

Merci encore pour l'info !

0
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 918 > Anthox
Modifié le 31 août 2022 à 07:03

C'est indiqué dans le lien que je t'ai donné, pour spécifier un profil c'est un truc du genre :

"c:\program files\camooz.exe" -silent -file:"c:\users\dauser\dadocuments\myprofile.ccs"
0
Utilisateur anonyme
31 août 2022 à 08:22

Bonjour

Néanmoins, existe-t-il une commande permettant de manipuler directement un logiciel ? Ou dois-je plutôt me rabattre sur du code style C++ ?

Comme l'a déjà écrit Barnabé (que je salue), ça dépend si le logiciel est prévu pour ou non.

Il y a 2 grands principes que l'on trouve habituellement.

Le premier c'est la ligne de commande. En clair, cela veut dire si le logiciel accepte des paramètres en ligne de commande, donc si à la main  dans une console windows (ou powershell) on peut faire faire au logiciel l'action souhaitée avec une ligne de commande qui associe le chemin complet de l'exécutable (pour le lancer)  et une ou des instructions/ informations complémentaires séparées par des espaces et/ou des tirets alors ce sera aussi possible en bat, en VBA, en, Java, en C#, en Delphi, en C++ etc. Mais si ça n'est pas possible en ligne de commande alors ça ne le sera dans aucun des ces langages. Un raccourci sur le bureau, ou dans le menu démarre n'est rien d'autre qu'un "bouton" qui lance une ligne de commande, on peut même y mettre des paramètres. Tu pourrais faire un raccourci vers Camooz avec la ligne de commande que t'a trouvé Barnabé. Ça t'éviterait de lancer un bat qui ne contient qu'une ligne.

Le hic avec la ligne de commande, c'est que c'est limité, on ne peut pas écrire une une avec des milliers d'instructions, des boucles, des conditions etc...


Le second principe, c'est l'API, qui permet de créer une sorte d'import du programme dans ton code, et ensuite de lui faire faire tout ce que l'API te permet (bien souvent, tout ce que tu peux faire à la main dans le logiciel à proprement parlé). Un exemple assez connu est VBA, c'est le langage des macros dans Office (Excel, Word etc.) mais aussi d'autres logiciels. Même si c'est transparent pour le codeur, VBA se sert de l'API du logiciel hôte. L'avantage de l'API c'est qu'ont peut lui faire faire des milliers d'instructions, faire des boucles, des conditions qui incluent ces conditions.

Par contre, je ne sais pas si en bat on peut utiliser les API.


Quoiqu'il en soit, API et ligne de commande sont documentés, donc la première chose à faire quand tu veux "piloter" un logiciel est d'ouvrir la doc et de chercher ces 2 expressions.


Il existe d'autres façons de communiquer avec un logiciel, mais c'est plus à la marge, le réseau (udp, tcp,  html etc..), les pipes, un fichier de script/configuration (comme c'est ton cas ), etc..


0
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 4 918
31 août 2022 à 09:23

Bonjour Whismeril,

Par contre, je ne sais pas si en bat on peut utiliser les API.

Interroger une API en bat n'est pas très compliqué à condition d'utiliser une commande externe telle que curl

Par contre traiter la réponse peut devenir très compliqué voire impossible si la réponse est du JSON ou du XML, une réponse au format CSV se gère très bien par contre.

0
brucine Messages postés 18384 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 28 décembre 2024 2 729 > barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024
31 août 2022 à 09:42

Bonjour,

Je ne comprends rien aux logiciels utilisés, il semble y en avoir deux ce qui plaide davantage pour un batch les ouvrant tous les deux quitte à les temporiser, et même si cela peut être comme vous l'avez remarqué possible dans certaines circonstances, je ne crois pas que l'auteur ait la volonté (et/ou les compétences?) pour programmer rien que pour ça, il déclare lui-même être "une bille en code".

Dans ces conditions, et si la ligne de commande indiquée en <3> fonctionne bien (on lit sur site qu'elle est peut-être buggée), il suffit dans le batch déjà mis en place de la faire précéder de START si le batch ne lit pas le chemin de l'exécutable sans.

0

Bonjour,

Merci pour tes éclaircissement Whismeril !

Je comprends un peu mieux "l'envers du décor" (et c'est même logique quand j'y pense). Néanmoins, comme a dit brucine, je n'ai pas pour intention de devenir programmeur XD Je touche un peu au code quand j'en ai besoin mais ca s'arrête sur des actions très basique (généralement copier / coller de quelqu'un d'autre).

Et un immense merci à barnabe ! Ca fonctionne nickel ;) En fait, j'avais essayé les lignes de codes indiquées sur le site mais j'avais mis un saut à la ligne (comme sur le site). Il fallait le mettre, donc, sur la même ligne (quand je dis que je suis une bille en code).

Pour ceux que ca intéresse, je le répète ici :

Pour ouvrir OBS et conserver ses paramètres caméra avec Camooz, il faut entrer ces lignes de codes dans un fichier .bat comme ceci :

@echo off

start "OBS Studio (64bit)" "CHEMINDUPROGRAMME\OBS Studio (64bit)"

start "CamooZ.exe" "CHEMINDUPROGRAMME\CamooZ.exe" -file:"CHEMINDUPROFILCAMOOZ\FICHIERPROFILCAMOOZ" -silent

exit

Et voila :D

Merci infiniment à vous ! <3

0
Utilisateur anonyme
1 sept. 2022 à 18:52

Bonsoir

j'avais bien lu 

je suis une bille en code, j'ai juste appris quelques trucs grâce à internet

Et constater que tu en as appris suffisamment pour écrire un petit .bat.

Je voulais juste essayer de t'en apprendre un peu plus et notamment, que tant que "l'action" est simple, l'option ligne de commande (si elle existe) est facilement utilisable dans un bat, voir pourquoi pas directement dans un raccourci windows.

0

Il existe une option de ligne de commande avec (example)

camooz.exe -file : "C:\Users\XYZ\Documents\CamooZ6\Integrated_Camera\Morning.ccs".

ou nouveau dans la version 7.3.8 : Démarrage automatique de CamooZ avec Windows et chargement d'un profil par défaut

0