begin process at 2012 02 14 21:41:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Programme déja ouvert


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

Programme déja ouvert

mercredi 14 septembre 2005 à 01:05:17 | Programme déja ouvert

gronon2

j'ai 2 programmes en VB6 prog1 et prog2 je lance prog1.exe ensuite je lance prog2.exe À son ouverture prog2.exe doit vérifier si prog1.exe est "ouvert" si oui il m'envoie une réponse (message) Comment fait-on cela Gronon2
mercredi 14 septembre 2005 à 02:29:08 | Re : Programme déja ouvert

P__ROMEO



Je n'ai pas la fonction qui verifi si un programme est ouvert ou pas. mais, si ca peut te dépanner
jusqu'a ce que tu trouve la fonction, pour quoi ne pas faire en sorte que programme1 cré un
fichier texte du non que tu veux, dans le répertoire que tu veux (assez camouflé) et qui sera suprimer toujours par programme1 à sa fermeture, ainsi, programme2 n'aura qu'a verrifier si le fichier texte existe.
ca fait 3 fonction aulieu d'une seul, mais, sa marche.

si j'ai ta fonction, je te fais signe. bonne chance
mercredi 14 septembre 2005 à 03:17:42 | Re : Programme déja ouvert

jack

Administrateur CodeS-SourceS
Salut
Plusieurs solutions de toute façon avec les APIs :
- Si Prog1 possède une forme, il te suffit de rechercher le handle (identifiant unique) de cette forme en utilisant les APIs de recherche de handle par le texte du caption de cette forme
- Tu peux aussi rechercher le nom des exécutables en cours de run et l'identifier comme ça

Charge "api-guide" sur www.allapi.net qui est un utilitaire gratuit expliquant le paramétrage des APIs avec exemples en VB6.
Regarde les APIs comme FindWindow, GetWindowText ... et les autres dans la même catégorie.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
mercredi 14 septembre 2005 à 03:45:04 | Re : Programme déja ouvert

gronon2

Assez ingénieux P-roméo Mais si jamais prog1 "plante" sur un run time error alors il ne pourra éliminer le dit fichier....trop dangereux 'Merci Jack.....je fouille Gronon2
mercredi 14 septembre 2005 à 04:27:59 | Re : Programme déja ouvert

P__ROMEO

Ma solution ne devait etre de toute facons qu'un pneu de secour, jusqu'a ce que l'on trouve un bon. et, jack, je verrai aussi ton site. merci.
aussi, tu pouvais en cas d'erreur mettre au debut:
OnError goto suprimer
.....
....

exit sub

suprimer:
fonction qui suprime ton fichier, et qui le programme sans trops salire    ' si je me trompe, faitent signe.
end sub

mercredi 14 septembre 2005 à 05:26:22 | Re : Programme déja ouvert

Zlub

Membre Club



Salut Gronon2,


Tu peux adapter ce code qui check si une instance d'une appli est déjà lancée :




Private Declare Function CreateWindowEx Lib "user32" Alias "CreateWindowExA" ByVal dwExStyle As LongByVal lpClassName As StringByVal lpWindowName As StringByVal dwStyle As LongByVal x As LongByVal y As LongByVal nWidth As LongByVal nHeight As LongByVal hWndParent As LongByVal hMenu As LongByVal hInstance As Long, lpParam As Any) As Long 
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ByVal lpClassName As StringByVal lpWindowName As StringAs Long 

' Instance Code
Private Const InstanceCode = "A8F500EA:D54F:210F:ED0A:F4A5A20C038B" 

Public Function PrevInstance() As Boolean 

  If FindWindow(vbNullString, ByVal InstanceCode) Then 
    PrevInstance = True 
    Exit Function 
  End If 

  CreateWindowEx 0&, "STATIC", InstanceCode, 0&, 0&, 0&, 0&, 0&, 0&, 0&, App.hInstance, 0& 
  PrevInstance = False 

End Function 




++

Zlub
mercredi 14 septembre 2005 à 07:47:00 | Re : Programme déja ouvert

Renfield

Administrateur CodeS-SourceS
ZLub, tu n'utilse tout de même pas le code que tu as fournis.....
en VB, tu as tout simplement :
app.PrevInstance
qui indique si une version d'un Exe tourne....

pour le probleme evoqué ici, un FindWindow est de mise ici

Amusez-vous !
Renfield - thomas_reynald@msn.com
Admin CodeS-SourceS - MVP Visual Basic
mercredi 14 septembre 2005 à 10:43:04 | Re : Programme déja ouvert

Zlub

Membre Club



Salut,

non j'avoue, j'utilise pas ... Il s'agit d'un vieux code qui trainé sur mon PC...


++

Zlub
jeudi 15 septembre 2005 à 04:01:13 | Re : Programme déja ouvert

doro81079

Membre Club
bonsoir, donc pour compléter le post de renfield... tu mets ce code dans le form load de la 1ère form chargée de ton appli : If App.PrevInstance = True Then MsgBox "Programme déjà ouvert !" Unload Me End If ce qui t'évite de créer une seconde appli... salut doro
jeudi 15 septembre 2005 à 05:01:58 | Re : Programme déja ouvert

gronon2

Je vais être plus précis dans ma demande prog1.exe fait des calculs de mensualités pour des prêts sur achat d'automobiles prog2.exe fait des mises à jour du prog1.exe lorsque je lance prog2.exe, celui-ci doit vérifier si prog1.exe est "ouvert" car comme vous le savez il est impossible d'écrasé un fichier lorsque celui-ci est "ouvert" en mémoire comment dois-je utiliser "App.PrevInstance " dans prog2.exe pour faire cette vérification sur prog1.exe Gronon2


Cette discussion est classée dans : exe, programme, ouvert, prog1, prog2


Répondre à ce message

Sujets en rapport avec ce message

Comment vérifier si un programme externe est ouvert ?? [ par AlexPoulard ] Bonjour, Je voudrais savoir si il est possible de vérifier si un programme est ouvert (style VB6.exe, ou winword.exe ...) Merci beaucoup. Créer des fonctions exécutables (VB6) [ par nsf78 ] Bonjour. PROBLEME : Je souhaite faire un programme Prog1.exe faisant appel à un programme Prog2.exe avec des arguments arg1 et arg2 Après traitemen Programme qui se fige [ par Paounet ] Paounet Comment dois-je réecrire mon programme qui fonctionne mais qui se bloque(fige) lorsque je clique par exemple sur l'explorateur de Windows ou a Programme et Ressources extérieures à incorporer [ par VBsearch ] Salut toute l'équipe de vbfranceVoilà, c'est le 3ème message que j'envoie concernant le même sujet.J'ai voulu lier une ressource "Dialog"(boîte de dia Fermer un processus ouvert par une application [ par Kikod ] Bonjour, dans mon programme, je fais appel à un objet qui permet de lancer un autre programme qui tourne en tâche de fond et permet d'accéder à un lo Ajouter une dll dans visual Basic [ par foungo ] Bonjour à vous, J'aimerai savoir comment ajouter, ou importer une dll dans mon fichier exe. (vb6) Si je fais un déployement de mon programme, mes dl copie du prog lui meme [ par Mirages51 ] Bonjour je suis (comme vus l'aurez deviner ) débutant en programmation et je voulait savoir si le programme pouvait se déplacer lui meme sans définir Recompiler en un seul Exe l'ensemble des ressources de mon programme [ par Dr_shaman ] Bonjour, j'ai un exécutable avec une image, une dll, une icône. Je voudrai savoir s'il est possible de tout recompiler en un seul Exe. Avec Visual 200 Lancer un programme inséré dans le projet vb [ par remifalcon ] Bonjour ! Je souhaiterai intégrer un programme.exe dans un vb et le lancer lors de l'appui sur un bouton dans le vb.C'est à dire pas juste un raccourc Lancer un exe externe sous excel [ par Yunchi ] Bonjour,J'ai une fonction VB sous excel :RetVal = Shell("file_analyzer.exe, 1)Donc ça lance un programme dans le même dossier que mon xls.Ce programme


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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,671 sec (3)

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