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++Builder Discussion :

Répertoire par défault à modifier après lancement


Sujet :

C++Builder

  1. #1
    Membre actif Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 201
    Points
    201
    Par défaut Répertoire par défault à modifier après lancement
    Bonjour,

    Pour détailler le titre:
    J'ai un service Windows qui selon un planing établi lance ou arrêtes une application que je n'ai pas dévellopé.
    Je n'est pas accès au code de cette application.
    Cette application est lancée avec la commande ShellExecute.

    Un opérateur peut modifier dans l'application via des fenêtres le répertoire.
    Je souhaiterais lors d'une opération par le service en cours de journée, modifier le répertoire de travail de l'application pendant qu'elle est active...

    Quelle commande dois je envoyer à l'application avec SendMessage, du style de "WM_SETTEXT"?


    Mattetfamilly

  2. #2
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut Mattetfamilly:
    Si je comprend bien tu veu utiliser une boite de dialogue d'un programme que tu n'a pas cree et envoyer un message dans par exemple un TEdit de ce programme.

  3. #3
    Membre expert
    Avatar de Sunchaser
    Homme Profil pro
    OPNI (Objet Programmant Non Identifié)
    Inscrit en
    Décembre 2004
    Messages
    2 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : OPNI (Objet Programmant Non Identifié)
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 059
    Points : 3 204
    Points
    3 204
    Par défaut
    Citation Envoyé par Mattetfamilly
    Bonjour,

    Pour détailler le titre:
    J'ai un service Windows qui selon un planing établi lance ou arrêtes une application que je n'ai pas dévellopé.
    Je n'est pas accès au code de cette application.
    Cette application est lancée avec la commande ShellExecute.

    Un opérateur peut modifier dans l'application via des fenêtres le répertoire.
    Je souhaiterais lors d'une opération par le service en cours de journée, modifier le répertoire de travail de l'application pendant qu'elle est active...

    Quelle commande dois je envoyer à l'application avec SendMessage, du style de "WM_SETTEXT"?


    Mattetfamilly

    Attention blondelle:

    Dans quelques instants, ce message s'auto-detruira.
    Si jamais vous étiez pris, nous nierons que vous ayez pu faire partie de nos services ...
    Bonne chance ...


    M..de, désolé je pête les plombs ...

    Je dirais qu'il faut retrouver le faaaaaaaabuleux post de Djob qui montre (entre autres) comment récuperer le handle d'un objet 'quelconque' dans une fenêtre 'quelconque' et effectivement lui lancer un WM_SETTEXT via PostMessage(...).

    Bon courage,
    @ +

  4. #4
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Si c'est recuperer le Handle de son objet il lui faut soit WinSight32 de borland, soit Spy++ de Visual c++6.0, soit mycatch (c'est Spy++ que j'ai utilise pour retrouver les Handles pour deverouiller VBE) c'est pas evident a s'en servir au debut mais c'est tres pratique

  5. #5
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    J'ai fait vite fait un petit topo en piece jointe sur l'employe de Spy++

  6. #6
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut Sunchaser:
    J'ai vu le post de Djob, j'avoue n'avoir pas compris grand, chose son niveau et quatre etages au dessus du mien, je suis parti d'un post de Furlaz plus digeste et cela m'a reussi
    le lien:

  7. #7
    Membre actif Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 201
    Points
    201
    Par défaut ooups
    Merci,

    Je penses m'êtres mal exprimé.

    Je souhaites:
    Modifier le répertoire d'une application externe à mon programme par une commande du style SendMessage / WM_SetText.
    Cette action je veux la faire sans affecter un Edit.
    Ce qui se passes ensuite, c'est que quans on est dans cette application externe,
    et que l'ouvre une boite de dialogue ou une fenêtre utilisant le répertoire en cours de l'application, le répertoire en cours soit celui que j'ai modifié indirectement via l'application que je codes moi même.
    Ce répertoire de travail étant initialisé au lancement de l'application comme répertoire de démarrage avec la commande ShellExecute.
    Sauf que je veux modifier InLive.

    @+
    Mattetfamilly

  8. #8
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut Mattetfamilly:
    Si tu utilise SendMessage il te faut un Handle, donc si tu veu ouvrir une boite de dialogue il te faut recuperer le Handle de cette boite avec un utilitaire genre Spy++ pour recuperer la classe et le caption de la boite, cette methode est valable pour un label un bouton ...

  9. #9
    Membre actif Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 201
    Points
    201
    Par défaut
    Je ne souhaites pas modifier un composant en particulier mais tous les composants affichant un répertoire ou boites de dialogues que l'application externe peut être amenée à ouvrir.

    Lorsque que l'on lance une application avec ShellExecute ou un raccourci Windows, on peut indiquer un répertoire de démarrage de l'application.
    Dés lors tous les acomposants affichant un répertoire ou bien les boites de dialogues de l'application sont calés sur ce répertoire de démarrage.

    Je souhaites donc effectuer la même initialisation de l'application "In Live" une fois qu'elle est déjà lancée.

    Récupérer le Handle de la fenêtre principale, j'ai déjà réussi à faire puisque j'inter agis avec le menu de cette fenêtre pour démarrer et arrêter la machine qui en dépend ou encore pour ferme l'application "correctement".


    @+
    Mattefamilly

  10. #10
    Membre actif Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 201
    Points
    201
    Par défaut La colle?
    Qui sait???

    Est-ce qu'une commande du type "WMActive_Directory_Change" existe d'après vous?

    Est ce que ce que je demandes est possible?


    Merci d'avance.

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Points : 3 766
    Points
    3 766
    Par défaut
    Salut Mattetfamilly:
    Si j'ai bien compris cette fonction permet de changer le repertoire par default
    SetCurrentDirectory

    The SetCurrentDirectory function changes the current directory for the current process.
    BOOL SetCurrentDirectory(
    LPCTSTR lpPathName // address of name of new current directory
    );

    Parameters
    lpPathName
    Points to a null-terminated string that specifies the path to the new current directory. This parameter may be a relative path or a fully qualified path. In either case, the fully qualified path of the specified directory is calculated and stored as the current directory.

    Return Values
    If the function succeeds, the return value is nonzero.
    If the function fails, the return value is zero. To get extended error information, call GetLastError.
    Remarks
    Each process has a single current directory made up of two parts:
    · A disk designator that is either a drive letter followed by a colon, or a server name and share name (\\servername\sharename)
    · A directory on the disk designator

    See Also
    GetCurrentDirectory

  12. #12
    Membre actif Avatar de Mattetfamilly
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 182
    Points : 201
    Points
    201
    Par défaut C'est presque cela.
    Il me faudrait la même à un détail près: la commande que tu m'indiques peut être insérée dans le code de l'application que j'écris pour modifier son répertoire actif. Il faudrait la même commande pour un processus externe à mon application. Ce processus étant une seconde application dont je n'ai pas le code et que je ne peux donc pas modifier directement...

Discussions similaires

  1. Storyboard : Impossible de modifier la propriété après lancement de l'animation
    Par bolandfranck dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 28/05/2008, 23h58
  2. [Joomla!] Modifier valeur par défault dans publication de contenu
    Par bocherrot dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 09/04/2008, 11h50
  3. fichiers modifiés après passage par socket
    Par kitue dans le forum C++
    Réponses: 2
    Dernier message: 06/02/2007, 06h40
  4. [Liste Modifiable] Problème avec la valeur par défault
    Par fusion_sadam dans le forum Access
    Réponses: 3
    Dernier message: 16/06/2006, 11h00

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