J'ai un souci dans l'utilisation de la lib shellapi.h, pour l'adaptation de la commande Waitforsingleobject sous l'OS Solaris 8.
En effet, j'ai besoin de shellexecute dans une de mes méthodes pour lancer une commande du shell.
J'ai donc fait comme suit :
Premier probleme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <ShellApi.h> ... //Dans la méthode : STARTUPINFO siStartupInfo; PROCESS_INFORMATION piProcessInfo; memset(&siStartupInfo, 0, sizeof(siStartupInfo)); memset(&piProcessInfo, 0, sizeof(piProcessInfo)); siStartupInfo.cb = sizeof(siStartupInfo); if(CreateProcess("conv.bat", 0,0,0,FALSE, CREATE_DEFAULT_ERROR_MODE,0,0, &siStartupInfo,&piProcessInfo) == FALSE) { // erreur } else { // attente WaitForSingleObject(piProcessInfo.hProcess, INFINITE); ::CloseHandle(piProcessInfo.hThread); ::CloseHandle(piProcessInfo.hProcess); }
Shellapi.h n'est pas reconnu sous Solaris, (code conçu sous environnement dev c++/windows). Existe-t-il une librairie similaire sur le nouvel environnement ?
Deuxieme probleme :
Le fichier "conv.bat" est un batch, donc utilisable sous DOS.
Sous un shell de type solaris, comment rédiger un shell bash de telle sorte que je lance une commande tethereal ? (car c'est ce que fait le batch en question)
Mon idée, créer un toto.sh du type :
Est-ce possible de cette manière ? Dans ces cas la, suffit il juste de faire un :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 #!/bin/bash tethereal -r temp.pcap -d udp.port==1234,h245 -V -l -T text
J'espere que j'ai été suffisamment clair. N'hésitez pas à me poser des questions dans le cas contraire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 createprocess("toto.sh",
Partager