/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Terminering af program.
Fra : Henrik


Dato : 07-04-03 15:51

Hej NG.

Jeg vil 'terminere' en exe fil (som kører i egen process) via min
application (Visual Studio 6.0). Jeg kender kun navnet på exe filen
(Test.exe) og ved at den kører. Det skal fungere under NT, XP, 2000.

Har i nogle ideer ?.

Tak.

Henrik.



 
 
Bertel Brander (07-04-2003)
Kommentar
Fra : Bertel Brander


Dato : 07-04-03 22:50

Henrik skrev:
> Hej NG.
>
> Jeg vil 'terminere' en exe fil (som kører i egen process) via min
> application (Visual Studio 6.0). Jeg kender kun navnet på exe filen
> (Test.exe) og ved at den kører. Det skal fungere under NT, XP, 2000.
>
> Har i nogle ideer ?.
>
> Tak.
>
> Henrik.
>
Jeg ved ikke hvordan man finder en process ud fra navnet på exe-filen,
men hvis programmet du ønsker at terminere har et vindue, kan du finde
dette ud fra texten på vinduet (normalt den text der står i det blå felt
øverst i vinduet) du kan herefter sende WM_CLOSE til dette vindue's
handle:

#include <stdio.h>
#include <windows.h>

BOOL CALLBACK MyEnumWindowsProc(HWND hwnd, LPARAM lParam)
{
char text[1024] = "";

GetWindowText(hwnd, text, 1024);

printf("Window Text: %s\n", text);

if(strstr(text, "Program Name"))
{
SendMessage(hwnd, WM_CLOSE, 0, 0);
}

return TRUE;
}


int main(void)
{
EnumWindows(MyEnumWindowsProc, 0);

return 0;
}

Dette lille program lister alle vinduer's titler,
og hvis det finder et vindue hvor "Program Name"
indgår, vil det forsøge at lukke dette.

Håber at dette hjælper, ellers kan du se på
EnumProcesses() og/eller GetModuleFileNameEx()
i MSDN.

/b

--
Bertel Brander, author of Wain, a free text editor for programmers:
http://home20.inet.tele.dk/midgaard/program.htm


Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste