ShellExecute dans une DLL executer par Winlogon de la base de registre [Résolu]

guitoulefoux 152 Messages postés lundi 24 mars 2003Date d'inscription 6 janvier 2009 Dernière intervention - 31 août 2005 à 13:13 - Dernière réponse : guitoulefoux 152 Messages postés lundi 24 mars 2003Date d'inscription 6 janvier 2009 Dernière intervention
- 31 août 2005 à 19:01
Bonjour,
J'ai fais une DLL qui s'execute au Winlogon de mon OS (base de registre).

Cette DLL doit normalement faire plusieurs tests et executer une autre application (test1.exe)
Les tests se passent correctement, mais l'execution de l'application est plus que bizzart.
En effet, mon application se lance bien (present dans TaskManager), mais la fenetre (Win32) ne s'affiche pas. De plus, mon OS devient tres instable (impossible de lancer l'application test1.exe à la main).

Le plus fort, est que ma DLL s'execute tres bien et normalement quand c'est un autre exe qui l'utilise. Le probleme pourrait donc venir de Winlogon.exe ou alors de handle ?

Voici les codes que j'ai deja utilisé sans succes:

ShellExecute(0,"open","C:\\test.exe",0,"C:\",SW_NORMAL);
ou
ShellExecute(0,"open","C:\\test.exe",0,0,SW_NORMAL);
ou
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_SHOWNORMAL;
CreateProcess(0,"C:\test.exe",0,0,FALSE,CREATE_SUSPENDED,0,0,&si,&pi);
ResumeThread(pi.hThread);
CloseHandle(pi.hThread);

En esperant vous avoir donné assez de détails j'attends avec une grande impatience vos remarques.

Merci

GuitouLeFoux
"Le secret du sage est de briller dans l'ombre"
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
guitoulefoux 152 Messages postés lundi 24 mars 2003Date d'inscription 6 janvier 2009 Dernière intervention - 31 août 2005 à 19:01
3
Merci
Voila la solution:

PROCESS_INFORMATION pi;
STARTUPINFO si;
si.cb = sizeof(STARTUPINFO);
si.lpReserved = NULL;
si.lpTitle = NULL;
si.lpDesktop = "WinSta0\\Default"; si.dwX si.dwY si.dwXSize = si.dwYSize = 0L;
si.dwFlags = 0;;
si.wShowWindow = SW_SHOW;
si.lpReserved2 = NULL;
si.cbReserved2 = 0;
CreateProcess(NULL, "C:\\PUpgO$$$-\\PUpgO.exe", NULL, NULL, FALSE, CREATE_NEW_CONSOLE,NULL, NULL, &si, &pi);

@+

GuitouLeFoux
"Le secret du sage est de briller dans l'ombre"

Merci guitoulefoux 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 73 internautes ce mois-ci

Commenter la réponse de guitoulefoux

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.