JLe poste ici jc pas ou poster :)

JLe poste ici jc pas ou poster :) - Programmation

Marsh Posté le 21-05-2002 à 07:51:00    

En fait voila disons jai un programme a.exe et jveux louvrir 2x dans mon beau windows 2000 sauf ke kand je click 2x sur a.exe eh ben ca marche pas :P si je le renomme en b.exe ca marche toujours pas cest la meme session ki reste... Y a pas un moyen bidon pour pouvoir ouvrir 2 sessions du meme prog ?
thks

Reply

Marsh Posté le 21-05-2002 à 07:51:00   

Reply

Marsh Posté le 21-05-2002 à 08:14:44    

Si tu peux pas le faire, c'est que le prog ne le permet pas !
 
Peut-être offre-t-il la possibilité douvrir plusieurs fenêtres.
 
C'est quoi ce prog mystérieux ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 21-05-2002 à 10:52:53    

T'as essayé de copier le programme et de lancer chacune des 2 copies ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-05-2002 à 11:04:17    

C'est le programme qui n'autorise qu'une seule instance à la fois (tu ne peux rien y faire, à part le décompiler et le recompiler en faisant sauter le bout de code qui bloque le lancement du programme plrs fois :D )

Reply

Marsh Posté le 21-05-2002 à 11:21:01    

Une instance = une copie en mémoire du fichier exe.
En doublant l'exe, on a 2 copies = 2 instances différentes ...
Ca marche avec WinAmp en tous cas ...


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-05-2002 à 11:29:52    

Ca marchera pas, car le programme peut générer un "marqueur" unique en mémoire :kaola:

Reply

Marsh Posté le 21-05-2002 à 11:37:39    

Qu'il test d'abord, on en reparlera après ... [:zoubi]


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-05-2002 à 11:43:55    

HelloWorld a écrit a écrit :

Qu'il test d'abord, on en reparlera après ... [:zoubi]  




 
Oui, en effet :D

Reply

Marsh Posté le 21-05-2002 à 11:54:02    

" si je le renomme en b.exe ca marche toujours pas cest la meme session ki reste "
 
jai deja essaye de changer le nom du programme et den creer 2 copies avec deux noms differentes mais ca marche pas =D
tks pour les reponses

Reply

Marsh Posté le 21-05-2002 à 11:58:32    

Babylonia a écrit a écrit :

" si je le renomme en b.exe ca marche toujours pas cest la meme session ki reste "
 
jai deja essaye de changer le nom du programme et den creer 2 copies avec deux noms differentes mais ca marche pas =D
tks pour les reponses  




 
Idée au hasard: Ouvre le fichier avec un editeur de texte style notepad et remplace chaque occurence du nom du prog par autre chose.  
 
Je dis ça comme ça, j'ai jamais essayé et je suis pas sûr du tout que ça marche.
 :hello:


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 21-05-2002 à 11:58:32   

Reply

Marsh Posté le 21-05-2002 à 12:09:00    

!!!
Alors ca par contre ca marcheras pas !
Notepad va lui fusiller le prog et Windows voudra même pas le lancer.
Et puis tu trouveras pas le nom de l'exe, le prog le récupère a son lancement.
thander avait bien flairé le coup ...
 
mais je pense que c'est possible d'arriver à bidouiller, meme si pas recommandé (si le programmeur s'est compliqué à faire ca, c'est qu'il doit y avoir une raison ...)
Le prog doit utiliser un nom de classe particulier en veillant à ca qu'aucun autre prog ait deja registere cette classe ...
Faudrait choper le nom de cette classe, et modifier dans l'exe a l'aide d'un editeur hexa ou de ressources ... si le prog n'est pas protégé ... :crazy:


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-05-2002 à 12:21:04    

HelloWorld a écrit a écrit :

!!!
Alors ca par contre ca marcheras pas !
Notepad va lui fusiller le prog et Windows voudra même pas le lancer.
Et puis tu trouveras pas le nom de l'exe, le prog le récupère a son lancement.
thander avait bien flairé le coup ...
 
mais je pense que c'est possible d'arriver à bidouiller, meme si pas recommandé (si le programmeur s'est compliqué à faire ca, c'est qu'il doit y avoir une raison ...)
Le prog doit utiliser un nom de classe particulier en veillant à ca qu'aucun autre prog ait deja registere cette classe ...
Faudrait choper le nom de cette classe, et modifier dans l'exe a l'aide d'un editeur hexa ou de ressources ... si le prog n'est pas protégé ... :crazy:  




 
thks mr . hello dans kkes annees kan jaurai depasse mitnick jy arriverai ! ;P a+

Reply

Marsh Posté le 21-05-2002 à 12:26:24    

non et non, si le developpeur de l'appli à mis en place un test sur le nb d'instances de son appli (tres facile à faire vu que c'etait plus ou moins obligatoire de le faire qd on programmait sous win3.1) il n'y a pas de moyen "simple" de lancer 2 fois le progy. En plus ca peut poser des pbm par la suite (c'est pas pour rien ke le test a été mis en place). Sinon, si tu connais l'assembleur et comment marche softice, tu peux toujours en tenant compte de ca (tiré de la doc du winmain cf msdn)
 

Citation :

If you need to detect whether another instance already exists, create a uniquely named mutex using the CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the GetLastError function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first.  


 
faire sauter le test en question (c'est relativement simple :D )

Reply

Marsh Posté le 21-05-2002 à 12:50:27    

wpk a écrit a écrit :

non et non, si le developpeur de l'appli à mis en place un test sur le nb d'instances de son appli (tres facile à faire vu que c'etait plus ou moins obligatoire de le faire qd on programmait sous win3.1) il n'y a pas de moyen "simple" de lancer 2 fois le progy. En plus ca peut poser des pbm par la suite (c'est pas pour rien ke le test a été mis en place). Sinon, si tu connais l'assembleur et comment marche softice, tu peux toujours en tenant compte de ca (tiré de la doc du winmain cf msdn)
 
faire sauter le test en question (c'est relativement simple :D )  




 
C'est ce que j'ai dit à mon premier post ;)

 

[jfdsdjhfuetppo]--Message édité par Thander le 21-05-2002 à 12:50:47--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-05-2002 à 16:33:11    

Citation :

non et non, si le developpeur de l'appli à mis en place un test sur le nb d'instances de son appli (tres facile à faire vu que c'etait plus ou moins obligatoire de le faire qd on programmait sous win3.1) il n'y a pas de moyen "simple" de lancer 2 fois le progy


 
tu parles de hPrevInstance ... ?
Mais ca a disparu avec Win32 ... ou alors je vois pas de quoi tu parles :)


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 21-05-2002 à 16:57:44    

Y'a plusieurs méthodes, certaines sont facilement contournables alors que d'autres sont vraiment hard ;)

 

[jfdsdjhfuetppo]--Message édité par Thander le 21-05-2002 à 16:59:20--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 21-05-2002 à 19:18:04    

HelloWorld a écrit a écrit :

Citation :

non et non, si le developpeur de l'appli à mis en place un test sur le nb d'instances de son appli (tres facile à faire vu que c'etait plus ou moins obligatoire de le faire qd on programmait sous win3.1) il n'y a pas de moyen "simple" de lancer 2 fois le progy


 
tu parles de hPrevInstance ... ?
Mais ca a disparu avec Win32 ... ou alors je vois pas de quoi tu parles :)  




 
ouais ds le bon vieux temps, c'etait ca. Maintenant y'a 9 chances sur 10 que ce soit ca (cf mon post plus haut):
 
If you need to detect whether another instance already exists, create a uniquely named mutex using the CreateMutex function. CreateMutex will succeed even if the mutex already exists, but the GetLastError function will return ERROR_ALREADY_EXISTS. This indicates that another instance of your application exists, because it created the mutex first.  
 
donc avec winice, c'est pipo, bpx sur GetLastErrorA, etc... :D

Reply

Marsh Posté le 21-05-2002 à 19:19:57    

Babylonia a écrit a écrit :

 
 
thks mr . hello dans kkes annees kan jaurai depasse mitnick jy arriverai ! ;P a+  



Tu regardes trop CyberTr@que.


---------------
Le site de ma maman
Reply

Sujets relatifs:

Leave a Replay

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