[..] Problème avec AutoIX3
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Problème avec AutoIX3
Bonjour,
J'ai vu que l'on pouvait utiliser les fonctions d'autoit dans d'autres langages de programmation.
J'ai voulu le tester avec le langage C, avec Visual C++ Express : ça fonctionne pas !!
J'ai testé avec l'exemple (dans le dossier d'installation de autoit) : la compilation ne fonctionne pas !!
J'ai aussi mis la dll AutoItX3 dans "C:\Windows\system32\" mais ça change rien (c'est sur un autre site que j'ai vu qu'il fallait la mettre là).
Je pense que le problème vient de la dll... mais ou la placer ??
Aidez moi SVP.
Merci d'avance...
J'ai vu que l'on pouvait utiliser les fonctions d'autoit dans d'autres langages de programmation.
J'ai voulu le tester avec le langage C, avec Visual C++ Express : ça fonctionne pas !!
J'ai testé avec l'exemple (dans le dossier d'installation de autoit) : la compilation ne fonctionne pas !!
J'ai aussi mis la dll AutoItX3 dans "C:\Windows\system32\" mais ça change rien (c'est sur un autre site que j'ai vu qu'il fallait la mettre là).
Je pense que le problème vient de la dll... mais ou la placer ??
Aidez moi SVP.
Merci d'avance...
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
Avez-vous lu l'aide (C:\Program Files\AutoIt3\AutoItX\AutoItX.chm) ?
Avez-vous copié et enregistré la dll correspondante à votre environnement (AutoItX3.dll ou AutoItX3_x64.dll) ?
Avez-vous copié et enregistré la dll correspondante à votre environnement (AutoItX3.dll ou AutoItX3_x64.dll) ?
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Problème avec AutoIX3
Oui j'ai lu l'aide et j'ai fait ce qu'ils disent avec la dll (et avec la bonne dll).
Mais ça ne fonctionne pas !
Mais ça ne fonctionne pas !
- Tlem
- Site Admin

- Messages : 11798
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
Si vous avez lu ma signature, vous comprendrez que votre réponse n'est pas suffisante.
Je viens de tester à l'instant les deux exemples du dossier C:\Program Files\AutoIt3\AutoItX\ActiveX\VBScript, et ils fonctionnent parfaitement !!!
Peut être avez-vous omis que vous êtes sur un système Français et que AutoIt à été développé sur un système Anglais ...
Je viens de tester à l'instant les deux exemples du dossier C:\Program Files\AutoIt3\AutoItX\ActiveX\VBScript, et ils fonctionnent parfaitement !!!
Peut être avez-vous omis que vous êtes sur un système Français et que AutoIt à été développé sur un système Anglais ...
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Problème avec AutoIX3
Bonjour,
Voici ce que j'ai fait :
J'ai testé VC6 (le dossier dans StandardDLL) : pour le lange C avec Visual C++ Express : j'ai ouvert "main.vcproj".
J'ai rien modifié et j'ai appuyé sur F5 pour la compilation. Dans la fenêtre sortie j'ai ça :
J'ai bien fait ce qui est marqué dans l'aide avec la dll.
Comment faire pour que ça fonctionne ??
Et peut être c'est parce que je suis sous Windows 7...
Et C:\Program Files\AutoIt3\AutoItX\ActiveX\VBScript fonctionne aussi sur mon pc !
Voici ce que j'ai fait :
J'ai testé VC6 (le dossier dans StandardDLL) : pour le lange C avec Visual C++ Express : j'ai ouvert "main.vcproj".
J'ai rien modifié et j'ai appuyé sur F5 pour la compilation. Dans la fenêtre sortie j'ai ça :
Code : Tout sélectionner
1>------ Début de la génération : Projet : main, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(17) : error C2664: 'AU3_Run' : impossible de convertir le paramètre 1 de 'const char [12]' en 'LPCWSTR'
1> Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(18) : error C2664: 'AU3_WinWaitActive' : impossible de convertir le paramètre 1 de 'const char [11]' en 'LPCWSTR'
1> Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(19) : error C2664: 'AU3_Send' : impossible de convertir le paramètre 1 de 'const char [9]' en 'LPCWSTR'
1> Les types pointés n'ont aucun rapport entre eux ; conversion nécessitant reinterpret_cast, cast de style C ou cast de style fonction
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Program Files\AutoIt3\AutoItX\StandardDLL\VC6\Example\Debug\BuildLog.htm"
1>main - 3 erreur(s), 0 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========Comment faire pour que ça fonctionne ??
Et peut être c'est parce que je suis sous Windows 7...
Et C:\Program Files\AutoIt3\AutoItX\ActiveX\VBScript fonctionne aussi sur mon pc !
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
J'ai essayé avec Visual C++ 6 sous Windows XP et j'ai les mêmes erreurs... 
Par contre, si dans le WinMain() je ne mets que MessageBox(NULL, "test", "Text:", MB_OK);, je n'ai pas d'erreur à la compilation et j'ai bien la MessageBox qui s'affiche.
Par contre, si dans le WinMain() je ne mets que MessageBox(NULL, "test", "Text:", MB_OK);, je n'ai pas d'erreur à la compilation et j'ai bien la MessageBox qui s'affiche.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: [..] Problème avec AutoIX3
Ca ne fonctionne toujours pas !
J'ai mis MessageBox(NULL, "test", "Text:", MB_OK) dans WinMain() : int APIENTRY WinMain(MessageBox(NULL, "test", "Text:", MB_OK)) et ça ne fonctionne pas.
Et dans la fenêtre sortie il y a ça :
1>------ Début de la génération : Projet : main, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(11) : error C2448: 'WinMain' : l'initialiseur de style fonction semble être une définition de fonction
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Program Files\AutoIt3\AutoItX\StandardDLL\VC6\Example\Debug\BuildLog.htm"
1>main - 1 erreur(s), 0 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
Donc maintenant, ça vient de WinMain()...
POURQUOI...
J'ai regardé sur le forum officiel mais j'ai rien trouvé !
J'ai mis MessageBox(NULL, "test", "Text:", MB_OK) dans WinMain() : int APIENTRY WinMain(MessageBox(NULL, "test", "Text:", MB_OK)) et ça ne fonctionne pas.
Et dans la fenêtre sortie il y a ça :
1>------ Début de la génération : Projet : main, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(11) : error C2448: 'WinMain' : l'initialiseur de style fonction semble être une définition de fonction
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Program Files\AutoIt3\AutoItX\StandardDLL\VC6\Example\Debug\BuildLog.htm"
1>main - 1 erreur(s), 0 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
Donc maintenant, ça vient de WinMain()...
POURQUOI...
J'ai regardé sur le forum officiel mais j'ai rien trouvé !
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
Code : Tout sélectionner
#include <Windows.h>
#include "AutoIt3.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
MessageBox(NULL, "test", "Text:", MB_OK);
return 0;
}De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: [..] Problème avec AutoIX3
A OK lol... je suis bête...
Mais après, si je met :
Voici ce qu'il y a dans la fenêtre sortie :
1>------ Début de la génération : Projet : main, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : warning C4129: 'P' : caractère de séquence d'échappement non reconnu
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : warning C4129: 'S' : caractère de séquence d'échappement non reconnu
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : warning C4129: 'S' : caractère de séquence d'échappement non reconnu
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : error C2660: 'AU3_Run' : la fonction ne prend pas 1 arguments
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Program Files\AutoIt3\AutoItX\StandardDLL\VC6\Example\Debug\BuildLog.htm"
1>main - 1 erreur(s), 3 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
Et donc, ça ne fonctionne toujours pas !
Mais après, si je met :
Code : Tout sélectionner
#include <Windows.h>
#include "AutoIt3.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
AU3_Run("C:\Program Files\Spybot - Search & Destroy\SpybotSD.exe"); //fonctionne très bien si compilé avec AutoIt
return 0;
}1>------ Début de la génération : Projet : main, Configuration : Debug Win32 ------
1>Compilation en cours...
1>main.cpp
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : warning C4129: 'P' : caractère de séquence d'échappement non reconnu
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : warning C4129: 'S' : caractère de séquence d'échappement non reconnu
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : warning C4129: 'S' : caractère de séquence d'échappement non reconnu
1>c:\program files\autoit3\autoitx\standarddll\vc6\example\main.cpp(9) : error C2660: 'AU3_Run' : la fonction ne prend pas 1 arguments
1>Le journal de génération a été enregistré à l'emplacement "file://c:\Program Files\AutoIt3\AutoItX\StandardDLL\VC6\Example\Debug\BuildLog.htm"
1>main - 1 erreur(s), 3 avertissement(s)
========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========
Et donc, ça ne fonctionne toujours pas !
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
Pour l'exemple précédent, j'avais dit n'importe quoi
puisque MessageBox() n'est pas une fonction de la DLL autoit, donc forcément c'est pour ça que ça marchait...
Et sinon, pour les warning, je crois qu'il faut doubler les "\", ce qui donnerait "C:\\Program Files\\Spybot - Search & Destroy\\SpybotSD.exe".
Pour l'erreur, je pense que AU3_Run attend non pas 1 paramètre, mais 3 paramètres. Mais même avec les 3 paramètres je doute que ça marche, puisque le premier paramètre attend un LPCWSTR et on lui donne un char[].
Il me semble qu'il faut utiliser MultiByteToWideChar ou un truc comme ça pour faire la conversion, mais je n'en suis pas sûr. Peut-être que sur un forum de C++ ils seraient plus à même de résoudre le problème.
Il y a quand même un truc qui marche : AU3_WinMinimizeAll(); (en mettant AutoItX3.dll dans le même répertoire du programme).
Edition !!! En fait, en mettant AU3_Run(L"C:\\Program Files\\Spybot - Search & Destroy\\SpybotSD.exe",L"",SW_SHOW); ou un truc du genre ça devrait marcher. Pour les paramètres qui demande un LPCWSTR, je pense qu'il faut ajouter un L avant, à moins que ce soit plus propre avec MultiByteToWideChar()...
Et sinon, pour les warning, je crois qu'il faut doubler les "\", ce qui donnerait "C:\\Program Files\\Spybot - Search & Destroy\\SpybotSD.exe".
Pour l'erreur, je pense que AU3_Run attend non pas 1 paramètre, mais 3 paramètres. Mais même avec les 3 paramètres je doute que ça marche, puisque le premier paramètre attend un LPCWSTR et on lui donne un char[].
Il y a quand même un truc qui marche : AU3_WinMinimizeAll(); (en mettant AutoItX3.dll dans le même répertoire du programme).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Re: [..] Problème avec AutoIX3
OK !
Donc c'est galère !!
Bon, je laisse tomber !
Donc c'est galère !!
Bon, je laisse tomber !
- orax
- Modérateur

- Messages : 1479
- Enregistré le : lun. 23 mars 2009 04:50
- Localisation : ::1
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
C'est pas tellement la galère, il faut juste ajouter un L. Voilà un exemple avec ping :C'est juste que je ne sais pas si c'est vraiment la bonne manière de faire.
Code : Tout sélectionner
#include <Windows.h>
#include "AutoIt3.h"
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
AU3_Run(L"ping -t yahoo.fr",L"",SW_SHOW);
return 0;
}De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
-
FastFrench
- Niveau 1

- Messages : 13
- Enregistré le : mar. 25 janv. 2011 11:57
- Status : Hors ligne
Re: [..] Problème avec AutoIX3
Bonjour,
le plus simple est de faire un projet avec le support Unicode activé (suffit de trouver l'option à la création du projet, ou - mais ça pose souvent des problèmes - après coup dans les propriétés du projet). Ca lui indique que par défaut les chaînes sont en WCHAR* (LP[C]WSTR) et non en char* (LP[C]STR).
Dans une version non Unicode, l'utilisation du L avant les chaînes littérale est tout à fait correct pour forcer la conversion en WCHAR. Par contre c'est plus compliqué avec les variables de type chaîne...
Edit : Oops... j'avais pas fait attention à la date du dernier post :p Pas très active cette section du forum...
FF
le plus simple est de faire un projet avec le support Unicode activé (suffit de trouver l'option à la création du projet, ou - mais ça pose souvent des problèmes - après coup dans les propriétés du projet). Ca lui indique que par défaut les chaînes sont en WCHAR* (LP[C]WSTR) et non en char* (LP[C]STR).
Dans une version non Unicode, l'utilisation du L avant les chaînes littérale est tout à fait correct pour forcer la conversion en WCHAR. Par contre c'est plus compliqué avec les variables de type chaîne...
Edit : Oops... j'avais pas fait attention à la date du dernier post :p Pas très active cette section du forum...
FF
