Bjr, je c ke le sujet est vieu, mai moi jai trouver qu'il fallait utiliser la dll user32.dll, jusque la pa de pb je v vous montrer :
voici ma class Bureau ainsi ke Rect
using System;
using System.Runtime.InteropServices;
namespace ToolBarWMP1
{
[StructLayout(LayoutKind.Sequential)]
public class RECT : ICloneable
{
public int Left;
public int Top;
public int Right;
public int Bottom;
#region Membres de ICloneable
public object Clone()
{
RECT oRECT = new RECT();
oRECT.Top = this.Top; oRECT.Bottom = this.Bottom;
oRECT.Left = this.Left; oRECT.Right = this.Right;
return oRECT;
}
#endregion
}
public class Bureau
{
#region API
[DllImport("user32.dll", EntryPoint="SystemParametersInfoA")]
private static extern int SystemParametersInfo (int uAction, int uParam, ToolBarWMP1.RECT lpvParam, int fuWinIni);
private const int SPI_GETWORKAREA = 48;
private const int SPI_SETWORKAREA = 47;
private const int SPIF_SENDCHANGE = 2;
#endregion
public static void getWorkspace(RECT oRECT)
{int iResult = SystemParametersInfo(SPI_GETWORKAREA,0,oRECT,0);}
public static int setWorkspace(RECT oRect)
{return SystemParametersInfo(SPI_SETWORKAREA,0,oRect,SPIF_SENDCHANGE);}
}
}
je les utilise com ceci :
private RECT m_RECTInit = new RECT();
private void Form1_Load(object sender, System.EventArgs e)
{
//Sauvegarde de l'ancien bureau
Bureau.getWorkspace(m_RECTInit);
this.Left = m_RECTInit.Left;
this.Top = m_RECTInit.Top;
this.Width = m_RECTInit.Right;
this.Height = 32;
//Création du nouveau bureau
RECT oRECT = (RECT) m_RECTInit.Clone();
oRECT.Bottom= m_RECTInit.Bottom-this.Height;
Bureau.setWorkspace(oRECT);
}
private void Form1_Closed(object sender, System.EventArgs e)
{
Bureau.setWorkspace(m_RECTInit);
}
Voila se ke jai fais mais l'espace de travail n'est pa redimensionner ma barre s'affiche bien en haut com je le veut mais les fenetres peuvent passer en dessous, je voudrait vraiment realiser une barre comme la barre des taches ou rien ne peu passer dessus ou en-dessous, alor si kelkun peu m'aider . Merci d'avance