begin process at 2012 05 28 21:44:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

comment redonner temporairement la main au système ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

comment redonner temporairement la main au système ?

mardi 23 novembre 2004 à 19:12:16 | comment redonner temporairement la main au système ?

scelw

mon programme est destiné au calcul scientifique. il calcule donc à tour de bras sans relâche, les opérations pouvant durer des heures voire des jours puisqu'il s'agit de très grands nombres (gérés avec une classe spéciale mais peu importe). mon problème est que le programme utilise toutes les ressources du système pour calculer et, par exemple, ne permet pas aux résultats intermédiaires de s'afficher. j'aimerais trouver une fonction pour redonner temporairement la main au système (genre DoEvents en VB) sachant que j'utilise Visual Studio 6...

merci pour votre aide!!!!
mardi 23 novembre 2004 à 20:47:10 | Re : comment redonner temporairement la main au système ?

BruNews

Administrateur CodeS-SourceS
Si SetWindowText est appele depuis le thread de calcul, ça doit s'afficher.

ciao...
BruNews, MVP VC++
mercredi 24 novembre 2004 à 11:17:22 | Re : comment redonner temporairement la main au système ?

Vincent12

Si ton appli est multi-thread, ca devrait fonctionner sans
problème (voir peut etre a ajouter un sleep(..) histoire de
redonner un peu de temps au système)..

Si ce n'est pas le cas, la gestion de la boucle des message n'est
jamais appelée (donc pas de gestion du WM_PAINT -> pas
de mise à jour de la fenêtre).. puisque tu ne rends pas la main
a ton process...

Dans ce cas je crois qu'il faut appeler UpdateWindow(hwnd),
ou alors faire un SendMessage(hwnd, WM_PAINT) qui à la
différence du PostMessage ne rend la main qu'une fois la
fonction executée...

Mes souvenirs dans ce domaine sont un peu vieux ... si qqun
pouvais confirmer...
samedi 11 décembre 2004 à 11:36:24 | Re : comment redonner temporairement la main au système ?

scelw

Mon appli n'est pas multithread justement. Mais je ne veux faire de "multithreading" car mon prog perdrait en vitesse...

Vincent12, ta piste m'intéresse : comment mettre à jour une fenêtre (ms-dos) ? comment utilise-t-on UpdateWindow(hwnd) et SendMessage(hwnd, WM_PAINT) ?
qqu'un pourrait-il me coder un ptit exemple?

Thanks !!!

-
samedi 11 décembre 2004 à 11:43:13 | Re : comment redonner temporairement la main au système ?

BruNews

Administrateur CodeS-SourceS
SendMessage(hwnd, WM_PAINT) NON, on appelle InvalidateRect() et c'est le systeme qui fera le message WM_PAINT avec un hdc correct.

En tout cas, ceci n'a rien a voir avec de la console.

ciao...
BruNews, MVP VC++
samedi 11 décembre 2004 à 12:00:22 | Re : comment redonner temporairement la main au système ?

scelw

Je suis débutant... Tu pourrais m'expliquer ta réponse? Parce que là, je nage... :)
samedi 11 décembre 2004 à 12:11:31 | Re : comment redonner temporairement la main au système ?

BruNews

Administrateur CodeS-SourceS
WM_PAINT etc... n'ont rien a faire en console, c'est tout l'important de la chose.

ciao...
BruNews, MVP VC++
samedi 11 décembre 2004 à 12:43:44 | Re : comment redonner temporairement la main au système ?

scelw

tu veux dire que la fonction SendMessage(hwnd, WM_PAINT) n'est pas faite pour les consoles ms-dos?

Dans ce cas-là, fo que j'utilise quoi comme fonction similaire pour raffraichir ma fenêtre??

et UpdateWindow(), ça marche avec les consoles ms-dos?


thx
-
samedi 11 décembre 2004 à 12:53:19 | Re : comment redonner temporairement la main au système ?

BruNews

Administrateur CodeS-SourceS
J'en doute fort.

ciao...
BruNews, MVP VC++


Cette discussion est classée dans : programme, système, main, temporairement, redonner


Répondre à ce message

Sujets en rapport avec ce message

help : redonner la main au système [ par scelw ] mon programme est destiné au calcul scientifique. il calcule donc à tour de bras sans relâche, les opérations pouvant durer des heures voire des jours Affichage graphique en temps réel [ par xb79 ] Bonjour!J'ai un programme en C++ tout simple qui n'a aucune interaction avec l'utilisateur, on peut le lancer et l'arrêter c'est tout. Ce programme fa Mon programme ne rend pas la main ! [ par z980x ] Bonjour à tous !J'ai fait une procédure pour quitter le programme (elle doit effacer l'écran), mais elle ne rend pas la main !!!!(C'est à dire que je Complilation/Linking en C sous Visual C++ [ par sandy27 ] Salut tout le monde,j'ai un problème d'éditions de liens en fait. J'ai fait un programme d'un côté dans un certain répertoire, dont la fonction princi Repertoire courant après le démarrage du système [ par Mr.X ] Lorsqu'un programme est définit pour être lancer au démarrage du système, celui-ci trouve que son repertoire courant est "C:\Documents and settings\Us programme C basé sur un système de plug-ins [ par doderic ] Slt tout le monde,J'aimerais savoir comment conçevoir un programme en C basé sur un système de plug-ins? C'est-à dire que mon programme soit conçu de Programmation système sous LINUX [ par deck_bsd ] Bonjour a tous, Voila j'ai installé une mandriva 2006, je programme en C et compile avec gcc norme C99. Je suis bien avancé en programmation C win32, Protection en C++ [ par macec ] Bonjour,   Je souhaite savoir s'il est possible de débloquer un code source pour une utilisation particulière ?Je m'explique, je suis responsable de l de C vers C++ ? [ par boualiasma ] Salut, J'ai crée mon programme C sous Windows avec Visaul Studio 2008. Lorsque j'ajoute un fichier alors je trouve un fichier c++. Mais, je mis par e comande system() et recuperation [ par lapierrebikevt ] Bonjour à tous, dans mon programme en [b]C[/b], j'utilise la fonction système() qui exécute un programme (Linux), mais la plupart de programme renvo


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,359 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales