|
begin process at 2008 07 20 09:21:05
Derniers logiciels
|
Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : GetOpenFileName et Thread générés [WIN32] [ Windows / System ] (Pistol_Pete)
|
GetOpenFileName et Thread générés [WIN32]
le 25/04/2008 16:51:41

Pistol_Pete
|
Salut Est il normale qu'après avoir exécuté la fonction GetOpenFileName, le nombre de thread du programme passe de 1 à 3! Y a t'il un moyen de suprimer ces threads? Voici le code qui permet au click gauche de la souris, d'ouvrir la boite de dialogue en question.(Projet généré avec les template de Brunews) #define _WIN32_WINNT 0x0501 #define _WIN32_IE 0x0501 #include <windows.h> //#include "resource.h"
HINSTANCE hinst; HWND hmain; char szappname[] = "ACHANGER";
LRESULT CALLBACK AppWndProc(HWND hwnd, UINT mssg, WPARAM wParam, LPARAM lParam) { OPENFILENAME ofn; char szFile[MAX_PATH]={0};
switch(mssg) {
case WM_LBUTTONDOWN:
szFile[0]=0; ZeroMemory(&ofn, sizeof(OPENFILENAME)); ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hwnd; ofn.lpstrFile = szFile; ofn.nMaxFile = MAX_PATH; ofn.lpstrFilter =0; ofn.nFilterIndex = 0; ofn.Flags =OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
if (GetOpenFileName(&ofn)==TRUE) { }
break; case WM_DESTROY: PostQuitMessage(0); return 0; } return DefWindowProc(hwnd, mssg, wParam, lParam); }
DWORD __stdcall InitInstance() { WNDCLASSEX wndcls; memset(&wndcls, 0, sizeof(WNDCLASSEX)); wndcls.cbSize = sizeof(WNDCLASSEX); wndcls.lpfnWndProc = AppWndProc; wndcls.style = CS_HREDRAW | CS_VREDRAW; wndcls.hInstance = hinst; wndcls.lpszClassName = szappname; wndcls.hbrBackground = (HBRUSH) GetStockObject(WHITE_BRUSH); wndcls.hCursor = LoadCursor(0, IDC_ARROW); if(!RegisterClassEx(&wndcls)) return 0; hmain = CreateWindowEx(0, szappname, szappname, WS_OVERLAPPED | WS_VISIBLE | WS_SYSMENU, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, hinst, 0); return (hmain != 0); }
#pragma comment(linker, "/entry:myWinMain") __declspec(naked) int __stdcall myWinMain() { __asm { push 0 call dword ptr GetModuleHandle mov hinst, eax call dword ptr InitInstance lea ebp, [esp-28] test eax, eax je short progEXIT mov esp, ebp mov eax, hmain mov esi, GetMessage push SW_NORMAL push eax mov ebx, TranslateMessage call dword ptr ShowWindow mov edi, DispatchMessage getMSG: push 0 push 0 push 0 push ebp call esi test eax, eax je short progEXIT push ebp call ebx push ebp call edi jmp short getMSG progEXIT: push 0 call dword ptr ExitProcess } }Merci Mon site internet : [ Lien ]
|
|
|
|
Re : GetOpenFileName et Thread générés [WIN32]
le 25/04/2008 19:44:23

BruNews
(Admin CS)
|
Réponse acceptée !
Pas le temps d'analyser leur appartenance mais pas grave du tout, les composants que le système conserve dans ton espace processus seront évacués par le système lui même si le besoin s'en fait sentir. Ce sont les threads que tu pourrais créer explicitement qu'il conviendra de bioen gérer.
ciao... BruNews, MVP VC++
|
|
|
|
Re : GetOpenFileName et Thread générés [WIN32]
le 25/04/2008 21:00:34

jeffy131
|
__asm { push 0 call dword ptr GetModuleHandle C'est quoi cette horreur ? Déjà commencer par coder propement (le Wizard Win32 VC fait ça très bien) au lieu de mixer du code C et asm non optimisé et vraiment crade.
|
|
|
|
Re : GetOpenFileName et Thread générés [WIN32]
le 25/04/2008 21:19:10

BruNews
(Admin CS)
|
"Wizard Win32 VC" tu as vu un wizzard faire du 'sans CRT' ?
asm non optimisé pour un PUSH 0, elle est nouvelle celle là...
Je ne vois aucun mixage de code ici, les blocs sont full ASM ou full C.
User son clavier à polluer un post et nous déranger, on s'en passait largement.
ciao... BruNews, MVP VC++
|
|
|
|
Re : GetOpenFileName et Thread générés [WIN32]
le 25/04/2008 22:21:59

Pistol_Pete
|
Merci Brunews d'avoir prit le temps de me répondre. Jeffy>>Tu fais partie, avec Miquel75, des personnes qui me font le plus rire sur ce forum... A+ Mon site internet : [ Lien ]
|
|
|
Classé sous : push, call, ofn, eax, wndcls
|
|
|