IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[c#] Piloter un programme à distance


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut [c#] Piloter un programme à distance
    Bonjour,
    J'aimerais à partir d'un programme C sur une ordinateur client, exécuter une méthode d'un programme S tournant sur un serveur. (Aujourd'hui cette commande est exécutée via un bouton sur l'interface du programme S)

    - Est-il possible de simuler le clic du bouton de S à partir du client ? Si oui y'a-t-il des choses à faire du côté serveur ?
    - Sinon est-il possible d'exécuter des méthodes d'un programme S à partir d'un programme C tournant sur une autre machine ?
    - Sinon ... suggestion ?

    Merci

  2. #2
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Salut,
    si tu peux modifier le programme S, et selon les technos utilisées, tu peux mettre en place un service web, ou alors même à l'ancienne créer un mauvais fichier à partir du programme C sur la machine distante, et S fait une boucle pour tester sa présence, puis réagit en conséquence...
    Si tu ne peux pas modifier S, voire si tu ne peux rien installer sur la machine où est S, alors t'es à peu près marron (à moins d'avoir beaucoup de patience, de fouiner dans les librairies Win32, de posséder tous les droits adéquats sur la machine distante etc., mais là je n'y connais rien donc je laisse la parole...)

    Voilà pour ce que je peux dire à lecture de ton message, mais ça dépend évidemment de ce que sont C et S, si tu nous en dit plus ça irait peut-être mieux... Ça serait pas un truc tordu limite illégal, par hasard ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut
    Citation Envoyé par MetalGeek Voir le message
    Ça serait pas un truc tordu limite illégal, par hasard ?
    =)
    Non non pas du tout, je crée un outils pour les développeurs (l'appli Cliente), permettant de diffuser les mise à jour des programmes de mon entreprise.
    Toutes les étapes sont automatisées sauf la dernière qui consiste à relire un fichier texte contenant le numéro de version du programme. Aujourd'hui il faut systématiquement aller sur le serveur et cliquer sur le bouton "relire" du programme Serveur, à chaque fois qu'on veut diffuser une mise à jour.
    C'est donc pour ça que je voudrais pouvoir à partir du Client, envoyer une info pour que le Serveur exécute la fonction "relire". J'espère que c'est plus clair.

    le Serveur est en C++ builder
    le Client est en c#

    Imaginons qu'il y ait un raccourcis clavier sur le bouton "relire", est-il possible d'appeler cette combinaison de touche depuis C par exemple ?

  4. #4
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Avec les dll Win32 tu peux faire ça (fonctions SendMessage, ou SendKey je sais plus), mais à distance ça me paraît foireux. Et c'est pas vraiment le genre de fonctions sur lesquelles tu veux faire reposer tout ton service de mise à jour...
    En fait en bricolant doit forcément avoir moyen d'y arriver, mais voilà, "bricoler" c'est pas un terme d'entreprise, enfin en principe
    Tu peux vraiment pas modifier S ? Ou sinon, si les fonctions Win32 foirent à distance (jamais testé, mais c'est le pressentiment que j'ai), un petit prog qui le ferait en local, et que tu déclencherais proprement par un service ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Par défaut
    J'aimerais éviter de modifier S.
    Maintenant si la modif est mineur et permet de gérer tout ça simplement et de façon sur, je peux m'arranger.
    En revanche j'ai aucune idée de la marche à suivre, classes à utiliser etc.

  6. #6
    Membre chevronné Avatar de MetalGeek
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 412
    Par défaut
    Tu peux par exemple créer un timer qui va toutes les 24H vérifier la présence du fichier ou sa modification, et au besoin appeler la même fonction que le clic sur le bouton "relire" appelle.

Discussions similaires

  1. rexec sous linux. Execution de programme à distance
    Par Jonathan.b dans le forum Administration système
    Réponses: 7
    Dernier message: 29/09/2007, 23h12
  2. Réponses: 7
    Dernier message: 20/06/2007, 11h31
  3. lancer un programme à distance
    Par noinneh dans le forum Windows
    Réponses: 9
    Dernier message: 17/03/2006, 09h29
  4. [DCOM] Accès refusé au lancement du programme à distance
    Par raoulmania dans le forum Web & réseau
    Réponses: 7
    Dernier message: 22/06/2005, 13h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo