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