DLL, LIB, a l'aiiiiiiiiiiiide

madVinz - 14 nov. 2001 à 03:20
 Kaid - 18 nov. 2001 à 20:12
Salut,

il existe une fonction dans Kernel32.dll, nommé RegisterServiceProcess, mais qui apparrement n'est pas dans Kernel32.lib, alors je n'arrive pas a l'utiliser.

Comment faire ???

Merci d'avance :)

7 réponses

Tu dois faire quelque chose qui ressemble à ca (j'ai pas compilé):

typedef DWORD (* pfn_RegisterServiceProcess)(DWORD, DWORD);

HMODULE hKernel=GetModuleHandle("KERNEL32");

pfn_RegisterServiceProcess fnRegister=(pfn_RegisterServiceProcess)GetProcAddress(hKernel, "RegisterServiceProcess");

Et ensuite:

DWORD res=fnRegister(...);
0
chiouuuuuuuuuuuuuuuuuu (sifflement d'admiration)

bin je vais essayer :)

Merci beaucoup

(Mais comment vous faites pour trouver des trucs pareils ???)

Encore Merci
0
C'est écrit dans la MSDN :)
0
@rf lol oki :)

fo dire ke je suis loin de tout capter ds les MSDN aussi lol
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mille mercis à Kaid pour cette méthode astucieuse.
Cependant, je n'ai pas réussi à compiler le code donné.
Celui-ci fonctionne avec Dev-cpp :

HMODULE hKernel=GetModuleHandle("KERNEL32");
FARPROC fnRegister = GetProcAddress(hKernel, "RegisterServiceProcess") ;

le prototype de la fonction fnRegister est :

DWORD fnRegister(DWORD , DWORD) ;

La fonction RegisterServiceProcess peut permettre d'enlever votre application de la liste des tâches
pour l'enlever :
fnRegister(GetCurrentProcessId(), 1) ;
pour la remettre :
fnRegister(GetCurrentProcessId(), 0) ;
0
pfiouuuuuuuuu (sifflement d'admiration béate)

je reste sans voix ...

Merveilleux ...

Et mille fois merci à toi !!! :)
0
En fait j'ai compilé mon code avec Visual C++ et ca marche
très bien. Dev-cpp ne supporte-t-il pas les pointeurs de fonctions ?
A noter que cette méthode n'est pas implémentée sur les plateformes NT, c'est pour ca qu'il faut faire tout ca pour l'utiliser.
0
Rejoignez-nous