begin process at 2012 05 29 18:52:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

pb shellexecuteex


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb shellexecuteex

dimanche 4 juillet 2004 à 01:11:31 | pb shellexecuteex

cosmobob

voici un bout de mon code :


#include <windows.h>
#include <stdio.h>

int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
SHELLEXECUTEINFO info = {sizeof(info)};
info.lpVerb = "open";
info.lpFile = "iexplore";
info.lpParameters = "-nohome";
info.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_FLAG_DDEWAIT;
info.nShow = SW_HIDE;

if (!ShellExecuteEx(&info))
{
MessageBox(0,"Erreur lors de l'execution de IE","info",0);
DWORD err = GetLastError();
char texte[200];
sprintf(texte,"valeur : %d\n",err);
MessageBox(0,texte,"info",0);
return 0;
}
HANDLE Proc = info.hProcess;

...

CloseHandle(Proc);
return 0;
}


le problème est que de manière assez aléatoire, shellexecuteex ne marche pas. GetLastError renvoie alors 5, cad ERROR_ACCESS_DENIED.

le truc c'est que je vois pas du tout pourquoi !! (aléatoire = en général ca marche, desfois non... ca a pas l'air de dépendre si une fenetre de IE est déja ouverte ou non)

quelqu'un a une idée ?!?
dimanche 4 juillet 2004 à 09:03:04 | Re : pb shellexecuteex

BruNews

Administrateur CodeS-SourceS
hProcess:
Handle to the newly started application. This member is set on return and is always NULL unless fMask is set to SEE_MASK_NOCLOSEPROCESS. Even if fMask is set to SEE_MASK_NOCLOSEPROCESS, hProcess will be NULL if no process was launched. For example, if a document to be launched is a URL and an instance of Microsoft Internet Explorer is already running, it will display the document. No new process is launched, and hProcess will be NULL.

EN RESUME: faut enlever SEE_MASK_NOCLOSEPROCESS.

ciao...
BruNews, Admin CS, MVP Visual C++
dimanche 4 juillet 2004 à 12:08:21 | Re : pb shellexecuteex

cosmobob

non je pense pas, car la, le verbe c'est "open" sur le programme, pas sur un document. et j'ai besoin de l'handle du process lancé donc... ('For example, if a document to be launched is a URL' -> j'ouvre pas une URL la, mais iexplore)
dimanche 4 juillet 2004 à 12:40:57 | Re : pb shellexecuteex

cosmobob

ok je pense que c'est par ce que j'avais pas 'fait' : info.cbSize = sizeof(SHELLEXECUTEINFO);

enfin j'ai l'impression ;)
dimanche 4 juillet 2004 à 12:47:43 | Re : pb shellexecuteex

BruNews

Administrateur CodeS-SourceS
Ben oui en effet va impec, je viens de lancer 20 fois de suite et pas une fois hprocces null, et meme en mettant une adresse valide en param.
Bizzare...

ciao...
BruNews, Admin CS, MVP Visual C++
dimanche 4 juillet 2004 à 12:50:20 | Re : pb shellexecuteex

BruNews

Administrateur CodeS-SourceS
cbSize etait mis exact par ta 1ere ligne:
SHELLEXECUTEINFO info = {sizeof(info)};

ciao...
BruNews, Admin CS, MVP Visual C++
dimanche 4 juillet 2004 à 13:14:08 | Re : pb shellexecuteex

cosmobob

"cbSize etait mis exact par ta 1ere ligne: SHELLEXECUTEINFO info = {sizeof(info)};"
peut etre mais il est possible que qd ca marchait pas je n'avais pas mis ca mais :
SHELLEXECUTEINFO info;// = {sizeof(info)};
ZeroMemory(&info,sizeof(SHELLEXECUTEINFO));

est ce que 'SHELLEXECUTEINFO info = {sizeof(info)};' mets a zero les autres champs de info, ou ca se contente d'initialiser le premier champ a sizeof(info) ?

en tout cas je ne reussis plus a avoir d'erreurs... ca signifie presque que le prob est reglé ;)
dimanche 4 juillet 2004 à 13:20:36 | Re : pb shellexecuteex

BruNews

Administrateur CodeS-SourceS
Une liste d'initialisation ou une partie seulement des membres est specifiee place les autres a 0 donc doit aller bon.

ciao...
BruNews, Admin CS, MVP Visual C++


Cette discussion est classée dans : code, texte, info, hinstance, shellexecuteex


Répondre à ce message

Sujets en rapport avec ce message

Créer editbox ou zone de texte avec du code [ par MegaMickx ] Salut,Comment fait-on pour créer une editbox ou zone de texte a un endroit donné sur une Cdialog uniquement avec du code.Je programme sous [VC++6]Merc Besoin d'aide pour Directx 8/9 [ par TheBestofComputer ] Je voudrais savoir quelle est le code pour crée un texte en 3D(le plus simple possible) et le code pour ajouter une texture a une vertrice ainsi qu'au [WIN32]Histoires de couleurs... [ par Jeffray ] Bonjour,Je créé 2 edit à l'aide de CreateWindowEx() en readonly (style ES_READONLY).Jusqu'à maintenant, la couleur de fond de ces 2 edit était grise.M opengl bug [ par darmoor ] Voila je vien de debuter dans l'openGL et selon le tutorial jai fait ce qu'il falai et sa me marque une erreur:le code:#include #includ Idle - Hook - dll [ par Manson ] Bonjour,voila, j'ai trouve le code d'une dll permettant de savoirdepuis combien de temps le PC est inactif.Mais voila, elle a un probleme, quelque foi Centrer du texte dans StatusBar [ par Urgo ] Salut,J'aimerais savoir comment centrer le texte de ma StatusBar (sans MFC)Voici mon code HWND hStatus = CreateStatusWindow(WS_CHILD | WS_VISIBLE, "R Erreur avec des fonctions externes [ par flopflopp ] Bonjour, j'ai un problème de compilation avec des fonctions externes.J'ai un module ligne.c qui comprend une fonction creation_Ligne déclarée comme ce Problème tempo et Threads!!!! [ par Tank01 ] onjour,Je code en ce moment un petit programme en mode console, avec devc++.Dans ce programme, je souhaiterais qu'il y est un petit texte qui clignote RS232 [ par Steph115 ] Bonjour a tous,Je dois faire un projet en c++ sur une connexion en rs232 a un robot.En mode console je tape cela pour le faire marcher et envoyer un o Affichage d'un tableau avec du texte oblique [ par Titeuf007 ] Bonjour à tous,Je cherche à afficher un tableau (dans un CFormView) dont l'intitulé des colonnes est écrit de façon oblique (du style excel, avec les


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,702 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales