Calculatrice Windows

Résolu
Signaler
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
-
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011
-
Bonjour,

J'ai un petit souci avec Visual basic 2008 express
Je suis sous XP pro SP3

J'ai réalisé un programme et, pour ne pas avoir le bandeau Windows affiché dans le bas de l'écran, j'ai déclaré pour Form1 que Top Most = True. Cela fonctionne bien et le bandeau est bien masqué.

Par contre, quand j'essaie d'afficher la calculatrice Windows, cette dernière reste invisible?
La calculatrice s'affiche derrière mon Form1 car quand je ferme mon programme, elle est bien présente sur l'écran.

Si je remets Pour Form1 Top Most = False, ma calculatrice apparaît bien au dessus de mon programme mais à ce moment là, le bandeau du bas d'écran est visible.

Comment faire pour afficher la calculatrice au dessus de mon Form1 avec Top Most = True ?

Voici le code que j'utilise actuellement dans le Button pour afficher la calculatrice :


Dim Affiche As Diagnostics.Process
Affiche Diagnostics.Process.Start("C:\Documents and Settings\All Users\Menu Démarrer\Programmes\Accessoires\calculatrice", Top Most True)

Merci à tous.

4 réponses


Bonsoir,

Il vaudrait mieux utiliser un splashscreen (écran de démarrage) à ton projet.

Bonne soirée.
Messages postés
233
Date d'inscription
jeudi 18 janvier 2007
Statut
Membre
Dernière intervention
3 novembre 2011
1
Bonsoir jiel2007,

Il faut donc définir la fenêtre de la calculatrice en topmost également
L'API SetForegroundWindow permet justement de faire cela, voici comment la déclarer :

DllImport["user32.dll"]
Public Shared Boolean SetForegroundWindow(IntPtr hWnd)


La fonction prend en paramètre le "Handle" de la fenêtre, voici par exemple comment tu pourrais le récupérer :

For Each p As Process In Process.GetProcessesByName("calc")
   IntPtr handle = p.MainWindowHandle
Next


Ensuite il ne te reste plus qu'à appeller SetForegroundWindow avec le handle en paramètre:

SetForegroundWindow(handle)


Cela devrait fonctionner ;)

Simon

Bonne idée oui, car le splashscreen n'empêche pas la barre des tâches d'apparaitre.
J'ai donc suggéré une bêtise
Messages postés
17
Date d'inscription
mercredi 2 mars 2011
Statut
Membre
Dernière intervention
10 septembre 2011

Merci à tous les deux pour vos conseils.
Je vais essayer cela ce week-end

Jean-Luc