Importer une fonction de kernel32.dll [C/C++] - Programmation
Marsh Posté le 01-04-2002 à 12:09:53
hum, surement parce que pc = NULL 
 
je viens de regarder avec dumpbin et kernel32.dll n'exporte pas de RegisterServiceProcess , donc cela semble normal (win2000) 
[jfdsdjhfuetppo]--Message édité par chrisbk--[/jfdsdjhfuetppo]
Marsh Posté le 01-04-2002 à 12:09:56
multi post la non ???
Marsh Posté le 01-04-2002 à 13:08:43
| chrisbk a écrit a écrit  : hum, surement parce que pc = NULL je viens de regarder avec dumpbin et kernel32.dll n'exporte pas de RegisterServiceProcess , donc cela semble normal (win2000) | 
 
 
Oui car cette fonction n'est pas sous 2000/NT, juste sous Win95/98, alors voila 
Marsh Posté le 01-04-2002 à 16:56:03
| antsite a écrit a écrit  : Oui car cette fonction n'est pas sous 2000/NT, juste sous Win95/98, alors voila | 
 
 
 
oups désolé  
 
Marsh Posté le 01-04-2002 à 17:01:22
Moi je me suis servi de RegisterServiceProcess sans probleme : 
 
address = (int)GetProcAddress(GetModuleHandle("kernel32.dll" ), "RegisterServiceProcess" ); 
 
__asm	push 1 
__asm	push 0 
__asm	mov eax, address 
__asm	call eax 
Marsh Posté le 01-04-2002 à 12:03:00
Voila je souhaite utiliser la fonction RegisterServiceProcess et malheureusement elle ne semble pas déclarée dans le SDK. Alors faut aller la chercher...
typedef void (*MYPROC)(DWORD,DWORD);
DWORD pid;
HMODULE hmod;
MYPROC pc;
hmod = GetModuleHandle("kernel32.dll" );
if(hmod != NULL)
{
pc = (MYPROC)GetProcAddress(hmod,"RegisterServiceProcess" );
pid = GetCurrentProcessId();
(pc)(pid,1);
FreeLibrary(hmod);
}
Ca compile mais ça plante à l'éxécution. Pourquoi ?
merci