[RESOLU] [MY-AL] Onmouseup ouverture d'un .EXE

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

[RESOLU] [MY-AL] Onmouseup ouverture d'un .EXE

Message par freepl » 28 Fév 2020 19:39

Bonjour

J'utilise ce script pour ouvrir un exécutable.
C'est un enregistreur vidéo.
J'en avais parlé ici
viewtopic.php?f=2&t=7927&p=60209#p60209

J'ai eu un pb de pc et j'ai perdu mon dossier unity avec le projet.
Donc dans "nomduprojet_Data", j'ai bien mis tout les fichier du logiciel Hypercam2.
Le script ne me donne pas d'alerte et j'ai bien mis à coté du dossier ASSET,
Si je lance l'exe en manuel il fonctionne.



Dans nomduprojet_Data, j'ai mis les fichiers du programme Hypercam.
ScreenShot038.jpg
ScreenShot038.jpg (169.21 Kio) Consulté 3071 fois
Quand je compile le programme hypercam2 ne se lance pas sans plantage du programme.

Qu'est-ce que j'ai raté ?

Merci


Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using System.Diagnostics;
using System.IO;


public class OuvreFichierOnmoueUp : MonoBehaviour {
		/* 
  Mettre le document dans le dossier DATA après complilation 
  si on veut un fichier écrier Test.txt
  si on veut un dossier , écrire NOM_DU_DOSSIER
    
  Pour le logiciel de vidéo HYPERCAM, nom du fichier HyCam2.exe
  Copier l'intégralité du dossier HyperCam dans le dossier DATA et supprimer le Setup.exe ( non obligatoire)
  
 */
	
	public class Scriptouvrefichier : MonoBehaviour
	{
		public string nom_fichier="HyCam2.exe";
		
		void OnMouseDown() 
		{
			Process.Start(Path.Combine(Application.dataPath,nom_fichier));
		}
	
	}
}
Dernière édition par freepl le 29 Fév 2020 23:44, édité 5 fois.

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

Re: [MY-AL] Onmouseup ouverture d'un .EXE

Message par Aelhan » 29 Fév 2020 09:51

Est ce que ce ne serait pas le caractère "espace" dans le nom de ton projet qui met le brin ?
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

Avatar de l’utilisateur
Max
Messages : 8763
Inscription : 30 Juil 2011 13:57
Contact :

Re: [MY-AL] Onmouseup ouverture d'un .EXE

Message par Max » 29 Fév 2020 11:01

Bonjour,

moi ce qui m'interpelle, c'est ces deux classes MonoBehaviour imbriquées :0
Si tu places ce script sur un GameObject, je doute très fortement que la méthode OnMouseDown soit appelée quand tu essayeras de cliquer sur ton objet.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: [MY-AL] Onmouseup ouverture d'un .EXE

Message par freepl » 29 Fév 2020 11:26

Bonjour

J'ai modifié le script suite à vos deux avis

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using System.Diagnostics;
using System.IO;


public class OuvreFichierOnmouseUp : MonoBehaviour {
	/* 
  Mettre le document dans le dossier DATA après complilation 
  si on veut un fichier écrier Test.txt
  si on veut un dossier , écrire NOM_DU_DOSSIER
    
  Pour le logiciel de vidéo HYPERCAM, nom du fichier HyCam2.exe
  Copier l'intégralité du dossier HyperCam dans le dossier DATA et supprimer le Setup.exe ( non obligatoire)
  
 */
	


		public string nom_fichier="HyCam2.exe";
		
		void OnMouseDown() 
		{
			Process.Start(Path.Combine(Application.dataPath,nom_fichier));
		}
		
	}
Cela ne fonctionne toujours pas.
Pour le job j'ai fait un empty . J'y ai mis le script dessus
ScreenShot039.jpg
ScreenShot039.jpg (73.08 Kio) Consulté 3023 fois
Puis sur mon bouton gui j'ai fait le lien avec cet empty
ScreenShot040.jpg
ScreenShot040.jpg (180.84 Kio) Consulté 3023 fois
Lors de la création du nomduprogramme_Data, je colle les fichiers du programme Hypercam2 dedans.
si je lance mano le hypercam2.exe il se lance .
Là je sèche maintenant.

Merci

Avatar de l’utilisateur
Max
Messages : 8763
Inscription : 30 Juil 2011 13:57
Contact :

Re: [MY-AL] Onmouseup ouverture d'un .EXE

Message par Max » 29 Fév 2020 11:46

une fois de plus freepl, je ne comprend rien à ce que tu fais.
Tu as un script qui ne contient qu'un OnMouseDown(), que tu places sur un Empty. C'est quoi dans ce cas l'interet ? En suite tu parles d'un bouton dont le rôle est, à priori au vue de ton screen, de rendre actif le script OuvreFichierOnmouseUp.cs. Franchement, c'est n'es pas super clair.

Si l'objectif que tu poursuis est de lancer le process à partir du bouton, au pire tu met dans ta classe une fonction publique, genre

Code : Tout sélectionner

public class OuvreFichierOnmouseUp : MonoBehaviour
{
    public string nom_fichier = "HyCam2.exe";

    public void StartProcess()
    {
        Process.Start(Path.Combine(Application.dataPath, nom_fichier));
    }

}
, script que tu place directement sur ton bouton, et dans la OnClick tu renseignes la référence de la classe StartProcess().
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: [MY-AL] Onmouseup ouverture d'un .EXE

Message par freepl » 29 Fév 2020 12:36

C'est bon.

Merci

Si vous êtes intéressé par ce programme gratuit pour faire vos vidéo dans votre programme voici le zip à mettre dans le nomduprojet_DATA.

Il y a l'accord du concepteur pour s'en servir au format pdf.

http://www.grosfichiers.com/qZJhVsYcAfEZ
Dernière édition par freepl le 29 Fév 2020 23:43, édité 1 fois.

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: [ RESOLU] [MY-AL] Onmouseup ouverture d'un .EXE

Message par freepl » 29 Fév 2020 16:15

Avant de clore le sujet.

Pour faire un dossier d'export plus propre, ne peut-on pas donner un dossier particuliers pour l'exe dans la path?

Code : Tout sélectionner

public void StartProcess()
	{
		Process.Start(Path.Combine(Application.dataPath, nom_fichier));
	}
Ici je dois déployer tout le programme Hypercam2 dans le dossier dossier _DATA.

Je voudrais mettre dans _DATA le dossier Programme_Hypercam2 et donner son chemin.
exemple

Code : Tout sélectionner

Process.Start(Path.Combine(Application.dataPath,*Programme_Hypercam2* nom_fichier));
Est-ce possible ?
Merci

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: [MY-AL] Onmouseup ouverture d'un .EXE

Message par freepl » 29 Fév 2020 20:07

Et voilà

Bonne soirée

Code : Tout sélectionner

using UnityEngine;
using System.Collections;
using System.Diagnostics;
using System.IO;

/* 
  Mettre le document dans le dossier DATA après complilation 
  si on veut un fichier écrier Test.txt
  si on veut un dossier , écrire NOM_DU_DOSSIER
 
Mettre dans le dossier  "nom_DATA"  le dossier  "DOSSIER DE DOCUMENTS"
Mettre dans le dossier  "DOSSIER DE DOCUMENTS"  le dossier  "Logiciel_Hypercam"  



 */

public class OuvreFichierOnmouseUp : MonoBehaviour
{
	public string nom_fichier = "HyCam2.exe";
	public string dossier_1 = "DOSSIER DE DOCUMENTS";
	public string dossier_2 = "Logiciel_HyperCam";
	
	public void StartProcess()
	{
		var chemin = Path.Combine(Application.dataPath, dossier_1);
		chemin = Path.Combine(chemin, dossier_2);
                chemin = Path.Combine(chemin, nom_fichier);
                Process.Start(chemin);
	}
	
}

Verrouillé

Revenir vers « (C#) CSharp »