Avatar billede tokelil Nybegynder
29. januar 2001 - 19:58 Der er 17 kommentarer og
1 løsning

Hvilken include til RegisterServiceProcess()

Hvilken include skal jeg bruger for at kunne bruge:
RegisterServiceProcess(GetCurrentProcessID, 0)??
Avatar billede wisen Nybegynder
30. januar 2001 - 08:10 #1
I hvilket udviklingsmiljø ?

Selve funktionen ligger i KERNEL32.DLL. Du kan i princippet bare bruge \"GetProcAdress\" og bruge den returnerede funktionspointer til at køre funktionen...
Avatar billede tokelil Nybegynder
05. marts 2001 - 16:04 #2
Har ikke lige haft tid til at kikke på det pågældende program for nylig... Anyway, så bruger jeg Borland C++ Builder 5. Har brugt funktionen før i Delphi uden problemer, hvis jeg includede Shellapi, men i C++ er det altså ikke så lige til! :-(

Hvordan kan man bruge GetProcAdress til at kalde et API kald?? Kan du give et eksempel?
Avatar billede wisen Nybegynder
12. marts 2001 - 09:04 #3
Avatar billede tokelil Nybegynder
12. marts 2001 - 16:17 #4
Hmm.. Nu virker det næsten. Jeg får i hvert fald ingen fejlmeddelser. :-) Men heller ingen effekt!

Når man bruger GetProcAddress og skal have parametre med i sit funktions kald, hvordan gør man så ???

F.eks.
  FARPROC proc = GetProcAddress(hInst,\"RegisterServiceProcess(NULL,1)\"); Giver beskyttelsesfejl når jeg kører proc() ...
Avatar billede wisen Nybegynder
13. marts 2001 - 07:46 #5
Du skal ikke sende parametrene med i \"GetProcAddress\"; snarere noget i stil med det her :

FARPROC proc = GetProcAddress(hInst,\"RegisterServiceProcess\");
proc(NULL,1); // Skulle køre \"RegisterServiceProcess(NULL,1)\";

/wisen
Avatar billede wisen Nybegynder
13. marts 2001 - 07:48 #6
Der må da i grunden også være en include til C-Builder... Har du prøvet at slå \"RegisterServiceProcess\" og i hjælpen ? Det kan være at der står, hvilken include der skal bruges. Så kan du slippe for, at bruge Kernel32.dll direkte...
Avatar billede tokelil Nybegynder
13. marts 2001 - 15:15 #7
Det her går mig snart på! :-(
Min kode ser ud som følger:

  HINSTANCE hInst = LoadLibrary(\"KERNEL32.DLL\");
  FARPROC proc = GetProcAddress(hInst,\"RegisterServiceProcess\");
  proc(NULL,1);
  FreeLibrary(hInst);

Men proc(NULL,1); giver følgende fejl:
Extra parameter in call

Nogen ideer ??
Avatar billede wisen Nybegynder
13. marts 2001 - 15:22 #8
Hmm, koden ser godt nok ud... Har du prøvet med \"nil\" i stedet for \"null\" ?
Avatar billede wisen Nybegynder
27. marts 2001 - 07:59 #9
Er der stadig liv ?
Avatar billede tokelil Nybegynder
27. marts 2001 - 09:35 #10
Yes... sorry. Har lige skiftet styrersystem, og har ikke lige fået det hele op og køre endnu!

Prøver det snarest...
Avatar billede wisen Nybegynder
27. marts 2001 - 09:38 #11
Ok, det er selvfølgelig i orden :)

/Wisen
Avatar billede tokelil Nybegynder
30. marts 2001 - 15:44 #12
Hmmm.. stadig intet resultat! :-( Hverken med NULL eller nil. (Skriver undefined symbol nil. Og bliver nil egenlig ikke kun brugt under Pascal ?)

Jeg har aldrig prøvet at loade dll filer på den måde, så jeg har ingen anelse om hvad jeg skal prøve for at feljfinde... Nogen gode ideer, eller skal vi lukke denne tråd?? (Du får selvfølgelig pointene...)
Avatar billede tokelil Nybegynder
30. marts 2001 - 15:44 #13
Whoops... Forkert knap. Kom vidst til at sætte den som besvaret! :-)
Avatar billede wisen Nybegynder
30. marts 2001 - 15:49 #14
Nej, jeg er løbet tør for ideer :( 

Vil du have dine point tilbage ?
Avatar billede wisen Nybegynder
30. marts 2001 - 15:50 #15
Avatar billede tokelil Nybegynder
30. marts 2001 - 15:57 #16
Nej da... Tak for hjælpen og for at bruge lidt tid på mig ! :-)
Avatar billede tokelil Nybegynder
30. marts 2001 - 16:07 #17
Fandt lige dette link, som beskriver hvordan man skal gøre det. (Hvis der var andre der er interreserede)
http://www.bcbdev.com/faqs/faq82.htm
Avatar billede wisen Nybegynder
30. marts 2001 - 16:10 #18
Ja, det var tæt på, men ikke tæt nok :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester