Remplacer une DLL alors qu'elle est utilisé par Windows ...???

Remplacer une DLL alors qu'elle est utilisé par Windows ...??? - Win NT/2K/XP - Windows & Software

Marsh Posté le 07-01-2003 à 16:44:42    

J'aimerais savoir comment remplacer une dll ( qui est dans c:\WINNT\System32)
alors qu'elle est utilisée par Windows. ( il s'agit de gdi32.dll )
Le mode sans echec ne permet pas non plus ce remplacement car elle est aussi charger
lors de ce mode.
 
y a til un moyen ?
 
Merci d'avance
 
navarro

Reply

Marsh Posté le 07-01-2003 à 16:44:42   

Reply

Marsh Posté le 07-01-2003 à 16:53:45    

booter en mode dos

Reply

Marsh Posté le 07-01-2003 à 16:55:54    

et quel est le prob de cette DLL?

Reply

Marsh Posté le 07-01-2003 à 17:01:23    

cette dll poste prob avec mon programme ( sous 2000 )
le programme fonctionne a merveille sous 98  
je ve donc remplacer cette dll avec cette du 98
 
je vais essayer sous dos

Reply

Marsh Posté le 07-01-2003 à 17:06:55    

t'es pas bien... tu veux que ton 2000 ne démarre plus?!

Reply

Marsh Posté le 07-01-2003 à 17:09:22    

tu démarres en mode console
ainsi tu auras accès à ton disque dur, même en ntfs
tu remplaces la dll
pis ça roule
 
 :hello:


---------------
-`ღ´-    
Reply

Marsh Posté le 07-01-2003 à 17:12:04    

non mais tu as lu ce qu'il veut faire?

Reply

Marsh Posté le 07-01-2003 à 17:26:22    

trop tard le mal est fait le PC ne redemarre plus  
 
meme plus en dos... pret pour un reinstall de tout  
 
fais chier !!!!

Reply

Marsh Posté le 07-01-2003 à 17:27:02    

Merci bitonio6 mais j'ai vu le message trop tard

Reply

Marsh Posté le 07-01-2003 à 17:28:43    

partition NTFS ou FAT?
si c'est fat y a peut-être moyen!!
 
et tu ne peux pas démmarer win98SE?

Reply

Marsh Posté le 07-01-2003 à 17:28:43   

Reply

Marsh Posté le 07-01-2003 à 17:29:16    

ah ouais!!! lance le CD de w2000 et choisis "réparer"

Reply

Marsh Posté le 07-01-2003 à 17:31:27    

je suis sous Win 2000 et en NTFS
( pas de windows 98 a l'horizon)
tu crois que reparer marchera ?

Reply

Marsh Posté le 07-01-2003 à 17:36:25    

ben oui sinon ça servirait à quoi?

Reply

Marsh Posté le 07-01-2003 à 17:37:32    

ca va marcher

Reply

Marsh Posté le 07-01-2003 à 17:41:16    

mais la prochaine fois... réfléchis... w98 et 2000 ne sont pas du tout du même monde!!!!
XP-2000 peut-être mais 95-98 et Millenium niett!!!

Reply

Marsh Posté le 07-01-2003 à 17:43:30    

ok j'essai ca demain matin
mais c'etait ma derniere chance pour resoudre le probleme c'est pour ca que j'ai pas hesité.
 
Je vous tiens au courrant demain dans la matinée  
 
et merci a tous ceux qui m'ont conseillé

Reply

Marsh Posté le 07-01-2003 à 18:00:53    

bitonio6 a écrit :

non mais tu as lu ce qu'il veut faire?


 
mouarff,
non, j'avais lu que le 1er message  :heink:


---------------
-`ღ´-    
Reply

Marsh Posté le 07-01-2003 à 21:53:41    

Je suis un peu tard sur le coup mais il existe un soft de MS qui s'appelle inuse.exe et qui s'utilise en ligne de commande. Il suffir de taper inuse /? pour avoir les switchs
 
http://download.microsoft.com/down [...] /inuse.exe
 
pour NT/2K/XP
 
http://support.microsoft.com/?kbid=228930
 
Bellamy a aussi une solution pour NT/2K (je ne sais pas si ça marche pour XP)
 
http://www.bellamyjc.net/fr/systeme.html#replace

Reply

Marsh Posté le 07-01-2003 à 22:14:22    

ben on verra bien!!! si il y arrive!

Reply

Marsh Posté le 07-01-2003 à 22:39:13    

okayy  merci  je prends note

Reply

Marsh Posté le 08-01-2003 à 09:28:59    

La reparation rapide de Windows n'a rien donné
Par contre avec la reparation en mode console j'ai pu remplacer le fichier et bingo  
mon win2K redemarre ( alors merci a tous)
 
Je vais qd meme vous expliquer pourkoir j'ai tenter cela ( bien que c'est idiot je l'avoue)
j'ai un programme ( en C++ buider) qui permet l'aquisition de la vitesse d'un véhicule.
Cette vitesse est représenter dynamiquement sur un graphe.
 
Dans borland j'utilise la fonction BitBlt pour faire cela.
Sous Win98 tout marche a merveille.
Sous Win2K la vistesse defile mais aléatoirement elle se fige. ( a peu pres au bout de 100m - 200m)
 
J'ai alors creusé le probleme. j'ai fait affiché a mon application l'erreur windows générée.
c'est l'erreur 170 ... d'apres l'aide cette erreur signifie " The requested ressource is in use"
code erreur " ERROR_BUSY".
 
En fait la fonction BitBlt copie cette vitesse stokée dans un tableau 1 vers un tableau 2.
Le tableau 1 represente toute la distance parcourue. Et le tableau 2 represente la distance  
afficher a l'ecran de l'utilisateur ( environ 1.2km). si la "mission" est supérieure a 1.2km
un ascenseur apparait et permet de faire defilé tout ca.  
 
Mais mon erreur apparait bien avant 1.2km donc tableau 1 = tableau 2 ( en gros puisqu'en fait ce sont  
des representation graphique) Alors j'aimerais savoir pourquoi ALEATOIREMENT l'ecran ( tableau 2) de bloque
L'enregistrement de tableau 1 continue bien comme il faut ds une base de donnée.
 
J'ai donc trouvé en cherchant que ca plante "plus rapidement" si je bouge ma souris ou si j'utilise
un racoucis clavier. En va meme dire que ca plante PLUS si on laisse defilé la vitesse sans bouger la souris.
Dès qu'on la bouge...ca plante. J'ai pensé a un buffer que se remplit et qui stock tout les evénements
 ( Windows message), mais quel buffer ?  
Sous windows 98 ce bug est inexistant. La fonction BitBlt fait appelle a la dll gdi32 c'est pourkoi  
je voulais la changer.  
 
voila j'espere avoir été assez clair. Si quelqu'un aurait une piste ce serait simpa car je suis presque au bord  
de la deprime.
merci
 
 
navarro  
 

Reply

Marsh Posté le 08-01-2003 à 14:07:46    

une idée a mon probleme ?

Reply

Marsh Posté le 08-01-2003 à 15:28:43    

tu as parcouru un peu les astuces du net... optimisation et autre?!
 
c'est peut-être pas super bien programmé pour la plateforme 2000
sinon tu peux aussi essayé les modules qui te permettent d'émuler le w98!!! dans w2k

Reply

Marsh Posté le 08-01-2003 à 17:28:48    

oui je fais que ca parcourir le net et les newsgroups.
mais bon ...  :??:  
 
Ta remarque est pe etre la bosse : c'est pe etre pas bien programmer pour Win2K ...Mais c'est justement ca que je cherche.  
 
Si je bidouille avec les parametres de BitBlt  j'obtient d'autres aspect de figeable de mon tableau 2. Donc je me dis que c'est que la que ca coince. Mais je n'y arrive pas.
 
Et emuler Win98 ds Win2K ne sera pas accepté, c'est un produit qui est vendu au client.
 
Merci tout de meme pour cette proposition.
 
En fait il faudrai que je sache quelle sont les fonctions qui provoquent l'erreur 170 a sovoir  ERROR_BUSY
 
Merci

Reply

Marsh Posté le 09-01-2003 à 09:17:10    

:bounce:

Reply

Marsh Posté le 10-01-2003 à 02:33:39    

et du coté "Maï Kro Soft" kek i A?

Reply

Marsh Posté le 10-01-2003 à 13:04:27    

ben en fait c'est bien Windows qui merde mais c'est parce que le programme le fait planter. ( enfin c'est ce que je pense)  
puisque que si je trifouille avec les parametre BitBlt  je vois des changements dans dans l'affichage ..
je deviens fou

Reply

Marsh Posté le 10-01-2003 à 20:49:03    

bienvenue dans le monde de l'info!!!  
http://forum.hardware.fr/images/perso/sharpknife.gif  

Reply

Marsh Posté le 13-01-2003 à 10:34:39    

ton dessin explique parfaitement la chose ...

Reply

Marsh Posté le 13-01-2003 à 18:05:43    

je sais j'en ai un autre si tu veux!!!
 
http://forum.hardware.fr/images/perso/foutuordi.gif

Reply

Marsh Posté le 14-01-2003 à 13:30:47    

lol  dites  moi  le fichier gdi32.lib   je peux le changer sans crainte ?

Reply

Marsh Posté le 15-01-2003 à 00:46:45    

alors là... j'en sais rien... fais une recherche Google.. ou sur microsoft!!!

Reply

Marsh Posté le 15-01-2003 à 01:27:40    

Je pense que maintenant ton cas est plus pour le forum Programmation !
 
En attendant, je vais faire une hypothèse sur ton programme :
- Tu copie une zone de l'écran vers une autre zone de l'écran ?
 
Si c'est le cas, je ne pense pas que ce soit autorisé. Il est possible que les fonctions GDI de Windows 2000 soient différentes de celles de Windows 98 et que cela fasse planter parfois.
Pour résoudre ce problème, essaie de passer par un DeviceContext (Canvas chez Borland ?) stocké en mémoire (en faisant 2 BitBlts).
 
Si ce n'est pas ça le problème, il faudrait que tu donnes plus d'explications (sur un nouveau message dans le forum Programmation) :
- L'erreur 170 se produit juste après le BitBlt ou après l'appel d'une autre fonction ?
- Qu'est-ce qui te fait penser que c'est le BitBlt (ou l'affichage en général) qui fait planter ton application.
- L'erreur 170 indique qu'une ressource est utilisée. Si ça plante pendant un BitBlt, je suppose que la ressource dont il est question est un des DeviceContexts (Canvas) utilisé par la fonction. Peux-tu indiquer les parties de code où tu te sert de ces DeviceContext ?
- Ton code possède t'il plusieurs Threads ? Parce que je ne suis vraiment pas sûr que les fonctions graphiques soient "thread-safe".


---------------
each day I don't die is cheating
Reply

Marsh Posté le 15-01-2003 à 01:30:32    

démarrer/exécuter/
taper sfc
enter
 
?


---------------
Je viens d'apprendre que les ventes de voitures ont encore baissé de 7% en France. Y'en a marre de ces pirates qui téléchargent les voitures sur internet ! (antp était prems et est admin) - "Le travail est l'opium du peuple et je ne veux pas mourir dr
Reply

Marsh Posté le 15-01-2003 à 23:20:34    

Merci gatorette
Je t'ai envoyé un message perso
 
Je vais preciser ma demande
 

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed