Bonjour,

Je suis sur l'adaptation d'un programme de windows vers unix (solaris).
Dans la version windows il y'a
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
		if (CreateProcessW(NULL, (LPWSTR)tcarCommand, NULL, NULL, FALSE, NORMAL_PRIORITY_CLASS, NULL, NULL, &si, &pi)) {
			Sleep(10000); //sleep utilisé car le WaitForInputHandle ne semble pas avoir d'effet
			switch (WaitForInputIdle(pi.hProcess, FRAME_TIMEOUT)) {
				case 0 :
					pContext->processId = pi.dwProcessId;
					pContext->hProcess = pi.hProcess;
					pContext->hThread = pi.hThread;
dans la version unix j'ai remplacé par
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
swprintf(tcarCommand,256, L"%s /progid:FrameMaker.Session-%s", tcarPath, (pContext->connectToSession ? L"Connect" : L"New"));
		switch(pid=fork()){
			case (pid_t)-1:
				fprintf(stderr, "Error: Can't duplicate process (%d)\n",errno);
				exit(-1);
			break;
			case (pid_t)0:
				if(execl(tcarCommand,"FrameMaker",NULL)==-1){
					fprintf(stderr, "Error: Can't create process '%s' (%d)\n", tcarCommand, errno);
				}
J'arrive donc à lancer l'application, mais comment puis (si c'est possible sous unix récupérer le handle sur le process et sur la thread? Je n'ai ici que le PID.
merci d'avance