[Résolu] API ShellExecute ne marche pas
Stagiaire WDF
Inscrit:
10/04/2003 14:20
Post(s): 10
Jai un comportement bizarre de l'API ShellExecute
le but du jeu est de lancer un programme en mode compatibilité W98 sous Windows 2000
jai donc activé le mode compatibilité sur un raccourci du programme, et je lance par API ShellExecute le raccourci
sur une machine NT ca marche , sur une machine W2k pentium 3 ca marche
mais sur la machine ou ca devrait marcher (w2k sp4, Pentium 4) ca ne lance pas le programme Oo
je pige pas trop pkoi :/
le code retour est = 42 donc correct mais aucun lancement
Avec ShellExecuteEx , jai le meme resultat

exemple de code :
wcde est chaine asciiz sur 260="""C:\\WinZip.lnk"""
res est entier=appeldll32("SHELL32","ShellExecuteA", null,"open",wcde,null,null,5)
info(wcde,"Res:"+Res)

que je passe par pointeur ou valeur direct, ca change rien
des idées ? :)


Contribution le : 18/06/2004 19:03
Créer un fichier PDF de la contribution Imprimer


Re: API ShellExecute ne marche pas

Inscrit:
18/12/2003 13:14
Post(s): 212
Salut
Citation :

appeldll32("SHELL32","ShellExecuteA", null,"open",wcde,null,null,5)


L'appel de l'API ShellExecuteA() (Shell32.dll) se voit comme :
AppellDLL32("Shell32.dll", "ShellExecuteA", <HANDLE>, <lpOPERATION>, <lpFICHIER>, <lpPARAMETRE>, <lpREPERTOIRE>, <nShowCmd>)

- Il Faut préciser le HANDLE
- lpOPERATION peut prendre les valeurs:
= NULL > veut dire ouvrir fichier
= "open" > ouvrir le fichier
= "print"
= "explore"
- lpFICHIER prend le chemin complet du fichier à ouvrir.
Le fichier peut etre un Exécutable ou un fichier Document
- lpPARAMETRE prend :
Le parametre à passer si le fichier à ouvrir est un fichier Exécutable
"NULL" si le fichier est un document.
- lpREPERTOIRE prend le repertoire courant.
- nShowCmd prend une des constantes :
Si le fichier est un document la valeur 0 (zero)
Si le fichier est un exécutable :
* Dans ton cas SW_SHOWNORMAL = 1

Essayes de voir avec ton code.

Contribution le : 18/06/2004 19:54
_________________
Bonne Chance.
M'envoyer un message......
Créer un fichier PDF de la contribution Imprimer


Re: API ShellExecute ne marche pas
Stagiaire WDF
Inscrit:
10/04/2003 14:20
Post(s): 10
1 - le code tel quel fonctionne sur 2 autres machines
2 - pas obligé de preciser l'handle : il faut donner l'handle de l'appli apelante si tu veux que l'appli appelante recoivent les messages windows
jai testé pas mal de syntaxe au nivo de l'appel de ShellExecute (dont ShowNormal=1 , en dernier javais testé Show=5)
et comme je dis dans mon 1er message , aussi bien en passant les paramtres par pointeur ou valeur directe ShellExecute accepte les 2 a priori, pour l'operation (open)le prog a lancer (xxx.exe), les parametres (sans dans le cas d'un .lnk), et le rep de marrage (null dans le cas d'un .lnk)
ya que sur ma machine w2k sp4 pentium 4, que ca passe pas , sur une autre machine w2k sp4 ca marche
jveux bien revoir mon code mais jai deja testé bcp de truc hein

Contribution le : 18/06/2004 21:03
Créer un fichier PDF de la contribution Imprimer


Re: API ShellExecute ne marche pas
Stagiaire WDF
Inscrit:
10/04/2003 14:20
Post(s): 10
jai testé en mettant NULL dans le param lpOperation et ca marche
probleme resoud merci

Contribution le : 18/06/2004 21:29
Créer un fichier PDF de la contribution Imprimer


Re: API ShellExecute ne marche pas

Inscrit:
18/12/2003 13:14
Post(s): 212
Resalut

C'était de la patience qu'il fallait dans tous les cas

Contribution le : 18/06/2004 22:20
_________________
Bonne Chance.
M'envoyer un message......
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2