begin process at 2010 02 09 21:17:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

API

 > ALWAYS ON TOP APP

ALWAYS ON TOP APP


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :API Source .NET ( DotNet ) Classé sous :api, always, top, visible, enumwindows Niveau :Débutant Date de création :30/05/2005 Date de mise à jour :21/11/2005 13:14:11 Vu / téléchargé :10 923 / 471

Auteur : MorpionMx

Ecrire un message privé
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note


 Description

Ce petit programme permet de mettre n'importe quelle fenêtre visible dans la barre des taches en "Always on the top" (soit toujours visible).

Source

  • /*
  • * Utilisation des API :
  • * Voici les méthodes utilisées dans ce code
  • *********************************************************/
  • // Les namespaces utiles
  • using System.Runtime.InteropServices;
  • using System.Text;
  • // Récuperer le handle des fenetres :
  • // -> Déclarations
  • public delegate bool EnumWindowsProc(IntPtr hwnd, int lParam);
  • [DllImport("user32")]
  • public static extern int EnumWindows(EnumWindowsProc lpEnumFunc, int lParam);
  • // -> Code a mettre en oeuvre
  • // Appel de la méthode
  • EnumWindows(new EnumWindowsProc(EnumWindow), 0);
  • // CallBack
  • private bool EnumWindow(IntPtr hwnd, int lparam)
  • {
  • // Vous pouvez récupere ici le Handle des fenetres (paramètre hwnd)
  • return true;
  • }
  • //Récuperer le titre des fenêtres :
  • // -> Déclarations :
  • [DllImport("user32.dll")]
  • public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount);
  • [DllImport("user32.dll")]
  • public static extern int GetWindowTextLength(IntPtr hWnd);
  • // -> Code a mettre en oeuvre
  • // Paramètre hwnd : Handle de la fenêtre pour laquelle vous voulez récuperer le texte
  • public static string GetWindowText(IntPtr hWnd)
  • {
  • StringBuilder sb = new StringBuilder(GetWindowTextLength(hWnd) + 1);
  • GetWindowText(hWnd, sb, sb.Capacity);
  • return sb.ToString();
  • }
/* 
 * Utilisation des API :
 * Voici les méthodes utilisées dans ce code
 *********************************************************/

// Les namespaces utiles
using System.Runtime.InteropServices;
using System.Text;

// Récuperer le handle des fenetres :
// -> Déclarations

	public delegate bool EnumWindowsProc(IntPtr hwnd, int lParam);
	[DllImport("user32")]
	public static extern int EnumWindows(EnumWindowsProc lpEnumFunc, int lParam);

// -> Code a mettre en oeuvre

        // Appel de la méthode
        EnumWindows(new EnumWindowsProc(EnumWindow), 0); 

        // CallBack
	private bool EnumWindow(IntPtr hwnd, int lparam)
	{
		// Vous pouvez récupere ici le Handle des fenetres (paramètre hwnd)
		return true;
	}


//Récuperer le titre des fenêtres :
// -> Déclarations :

	[DllImport("user32.dll")]
	public static extern int GetWindowText(IntPtr hWnd, [Out] StringBuilder lpString, int nMaxCount);
	[DllImport("user32.dll")]
	public static extern int GetWindowTextLength(IntPtr hWnd);

// -> Code a mettre en oeuvre

        // Paramètre hwnd : Handle de la fenêtre pour laquelle vous voulez récuperer le texte
	public static string GetWindowText(IntPtr hWnd)
	{
		StringBuilder sb = new StringBuilder(GetWindowTextLength(hWnd)  + 1);
		GetWindowText(hWnd, sb, sb.Capacity);
		return sb.ToString();
	}



 Conclusion

Il y a certainement des bugs.
J'ai par exemple remarqué qu'il ne desactivait pas toujours les fenetres qui etaient dejà "Toujours au dessus".

Le code n'est pas dur a comprendre. Il utilise les API windows.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

31 mai 2005 12:23:45 :
Ajout des explications
21 novembre 2005 13:14:11 :
Ajout des mots clés

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) CREATION D'ANAGLYPHES - PHOTOS EN RELIEF
Source avec Zip Source .NET (Dotnet) BULK COPY EXCEL VERS SQL SERVER
Source avec Zip Source avec une capture Source .NET (Dotnet) THREAD ET PROGRESSBAR - EXEMPLE SIMPLE
Source avec Zip Source avec une capture Source .NET (Dotnet) XNA FRAMEWORK : UTILISATION DE BOUDINGSPHERE ET BOUNDINGBOX
Source avec Zip Source avec une capture Source .NET (Dotnet) XNA FRAMEWORK : CRÉATION D'UN SCROLLINGBACKGROUND

 Sources de la même categorie

Source avec Zip Source avec une capture Source .NET (Dotnet) UTILISATION DE L'API VIRTUAL DISK IMAGE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) CHESS GAME CORE - LIBRAIRIE JEU D'ÉCHEC EN C# par Bidou
Source .NET (Dotnet) CHANGER LA RESOLUTION DE VOTRE ECRAN, UTILISATION DES API WI... par mechtaly
Source avec Zip Source .NET (Dotnet) CRÉER SON PROPRE DESIGNER COMME CELUI DE VISUAL STUDIO par ShareVB
Source avec Zip Source .NET (Dotnet) CSVSHARP. DLL D'IMPORT/EXPORT DE CONTENU AU FORMAT CSV par heriquet

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture Source .NET (Dotnet) WRAPPER COMPLET SUR L'API DE BIOMÉTRIE DE WINDOWS 7 par Willi
Source avec Zip Source .NET (Dotnet) DEEPZOOMAPI par SharpMao
Source .NET (Dotnet) CHANGER LA RESOLUTION DE VOTRE ECRAN, UTILISATION DES API WI... par mechtaly
Source avec Zip Source avec une capture Source .NET (Dotnet) UNE FORM QUI S'INSÈRE PARTOUT par Yxion
Source avec Zip Source avec une capture Source .NET (Dotnet) NABNET - BIBLIOTHÈQUE PERMETTANT D'UTILISER L'API DE NABAZTA... par Galaid

Commentaires et avis

Commentaire de thebigboss le 06/01/2006 23:02:01

Très interressant et finalement pas très compliqué. Bravo, par contre il peut être pas mal que ton application sois toujours au dessus des autres car sinon c'est moins facile de repasser celles-ci en normale (j'ai juste ajouté this.TopMost=true;).

Je vais m'empresser de regarder tes autres sources.

Commentaire de MorpionMx le 07/01/2006 08:42:35 administrateur CS

J'avais meme pas pensé a ca :D

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

API? [ par BlackWizzard ] en C, j'avait un prog du genre ::SetWindowPos(FindWindow("ConsoleWindowClass",NULL),HWND_TOP,0,0,0,0,SWP_SHOWWINDOW); (C pour chacher le console dos d Conversion API Win32 -> C# [ par merlintintin ] J'aimerais utiliser des fonctions de l'APIen C#. Il faut pour cela redefinir les fonctions et les structures de l'API en C#. Malheureusement, je ne sa comment on ajoute des boutons dans une toolBar [ par kalakalaboubou ] bonjour a tousquelqu'un sait-il comment on ajoute des boutons dans une toolBar et qu'ils soient visible.Mon probleme c'est que c'est visible que quand api??? [ par dragoneyes ] j'ai fait pas mal de recherche sur le net. Et a part un deux exemples g pas trouvé grand chose sur lutilisation de api avec le c#.Esque qqun pe me don TOP MEMBRES [ par gg00xiv ] Le Top Membres va t-il être bientôt corrigé ? Une autre question du newbie [ par PsyCaDi ] ReEst-ce que quelqu'un sait comment on fait pour qu'un formulaire soit toujours "visible"? Qu'il passe par-dessus les autres applis même s'il n'est pa Utilisation de l'api Windows... [ par welc ] Bonjour,Je début en C#, et je m'entraine à utiliser DllImport avec l'api. Pour faire simple j'ai essayé de faire un appel MessageBoxA :[DllImport("use Mise en oeuvre d'une API [ par jacma ] Bonjour Est-il possible d'utiliser l'API sendMessageByString en C# et dans l'affirmative, comment la mettre en oeuvre (déclaration, appel...). Je l'ai [TabStrip] rendre visible certain onglet [ par jane2002 ] Bonjour a tous,j'utilise un TabStrip sur ma WebForm et je voudrais n'afficher que certain onglet a l'execution du programme , quelqu'un aurait il une Constante et énumération LVITEM dans API SendMessage [ par jacma ] BonjourDans la déclaration ci-dessous de l'API SendMessage employée avec une ListView, à quelle constante correspond Int32 wMsg?static extern Int32 Se


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales