OVH Cloud OVH Cloud

La calculette de Windows ?

4 réponses
Avatar
Bidou
Bonjour,

Je travaille sous win98 et j'utilise VB5

J'obtiens la calculette à l'aide de la procédure suivante qui fonctionne
bien
Private Sub Command4_Click()
Dim calcul
calcul = Shell("c:\windows\calc.exe", 1)

End Sub

mais je voudrais récupérer la ou les valeurs d'un calcul et les copier dans
une zone texte
j'ai essayé
texte1= calcul.value mais çà ne fonctionne pas

Pouvez-vous m'aider ?
Merci

4 réponses

Avatar
Bismark Prods
Si tu fais calcul.value c'est que tu n'a aucune idée de ce que tu fais
n'est-ce pas ?

La fonction shell ne te renvoi pas un objet mais une référence à une
instance d'un objet (là c'est la calculatrice). Depuis le temps j'espère que
les gens de la FAQ, on mis à jour et on donné la facon d'obtenir le Handle
de l'application lancée grace à Shell ? Il va sans doute falloir sous
classer la calculatrice et voir les messages de cette dernière pour
intercepter le resultat ? Sinon tu aurais meilleur temps de créer ta propre
calculatrice ?

"Bidou" a écrit dans le message de
news:
Bonjour,

Je travaille sous win98 et j'utilise VB5

J'obtiens la calculette à l'aide de la procédure suivante qui fonctionne
bien
Private Sub Command4_Click()
Dim calcul
calcul = Shell("c:windowscalc.exe", 1)

End Sub

mais je voudrais récupérer la ou les valeurs d'un calcul et les copier


dans
une zone texte
j'ai essayé
texte1= calcul.value mais çà ne fonctionne pas

Pouvez-vous m'aider ?
Merci




Avatar
François Picalausa
Bonjour/soir,

La valeur retournée par shell est ton processID, l'identifiant du process de
la calculette ici.
Copier le texte de la calculette serait possible en trouvant la fenêtre
principale, la sous fenêtre correspondant à la case de texte et toutes les
APIs qui vont avec...

AMHA, tu ferais mieux de créer une calculatrice dans ton projet... il y a
déjà plusieurs exemples en cherchant sur google.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Bidou wrote:
Bonjour,

Je travaille sous win98 et j'utilise VB5

J'obtiens la calculette à l'aide de la procédure suivante qui
fonctionne bien
Private Sub Command4_Click()
Dim calcul
calcul = Shell("c:windowscalc.exe", 1)

End Sub

mais je voudrais récupérer la ou les valeurs d'un calcul et les
copier dans une zone texte
j'ai essayé
texte1= calcul.value mais çà ne fonctionne pas

Pouvez-vous m'aider ?
Merci


Avatar
Sundowne
'Jour
Copier le texte ... serait possible en trouvant la fenêtre
principale, la sous fenêtre correspondant à la case de texte



Je faisais ça dans ma jeunesse avec Findwindow et FindwindowEx .. ! et
en plus le frisson du hacking ... Aujourd'hui avec spy de MS ... y-a-plus de
difficultés mon bon meussieur ... d'autant plus que y a pratiquement tout le
code dans Api-Guide.

@+

"François Picalausa" a écrit dans le message de
news:u%
Bonjour/soir,

La valeur retournée par shell est ton processID, l'identifiant du process


de
la calculette ici.
Copier le texte de la calculette serait possible en trouvant la fenêtre
principale, la sous fenêtre correspondant à la case de texte et toutes les
APIs qui vont avec...

AMHA, tu ferais mieux de créer une calculatrice dans ton projet... il y a
déjà plusieurs exemples en cherchant sur google.

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com


Bidou wrote:
> Bonjour,
>
> Je travaille sous win98 et j'utilise VB5
>
> J'obtiens la calculette à l'aide de la procédure suivante qui
> fonctionne bien
> Private Sub Command4_Click()
> Dim calcul
> calcul = Shell("c:windowscalc.exe", 1)
>
> End Sub
>
> mais je voudrais récupérer la ou les valeurs d'un calcul et les
> copier dans une zone texte
> j'ai essayé
> texte1= calcul.value mais çà ne fonctionne pas
>
> Pouvez-vous m'aider ?
> Merci




Avatar
Sundowne
'Jour
Oui bien sur !! Ma réponse demanderait à être préciser.
Mais cette question m'a brusquement rapellé les petits jeux auquels il
fallait se livrer avant que MS ne généralise COM,
que je n'ai pu résister au poids des souvenirs ...
@+

"François Picalausa" a écrit dans le message de
news:
Bonjour/soir,

Sundowne wrote:
>y-a-plus de difficultés mon bon meussieur

A priori non mais il faut d'abord s'assurer que la fenêtre appartient bien
au bon process pour récupérer la bonne valeur et pas la valeur de la
calculatrice d'à côté..
Il faut aussi s'assurer que le process ne soit pas fermé!

Là, FindWindow ne suffit peut-être plus, si? ;-)

--
François Picalausa (MVP VB)
FAQ VB : http://faq.vb.free.fr
MSDN : http://msdn.microsoft.com

>
> "François Picalausa" a écrit dans le message de
> news:u%
>> Bonjour/soir,
>>
>> La valeur retournée par shell est ton processID, l'identifiant du
>> process de la calculette ici.
>> Copier le texte de la calculette serait possible en trouvant la
>> fenêtre principale, la sous fenêtre correspondant à la case de texte
>> et toutes les APIs qui vont avec...
>>
>> AMHA, tu ferais mieux de créer une calculatrice dans ton projet...
>> il y a déjà plusieurs exemples en cherchant sur google.
>>
>> --
>> François Picalausa (MVP VB)
>> FAQ VB : http://faq.vb.free.fr
>> MSDN : http://msdn.microsoft.com
>>
>>
>> Bidou wrote:
>>> Bonjour,
>>>
>>> Je travaille sous win98 et j'utilise VB5
>>>
>>> J'obtiens la calculette à l'aide de la procédure suivante qui
>>> fonctionne bien
>>> Private Sub Command4_Click()
>>> Dim calcul
>>> calcul = Shell("c:windowscalc.exe", 1)
>>>
>>> End Sub
>>>
>>> mais je voudrais récupérer la ou les valeurs d'un calcul et les
>>> copier dans une zone texte
>>> j'ai essayé
>>> texte1= calcul.value mais çà ne fonctionne pas
>>>
>>> Pouvez-vous m'aider ?
>>> Merci