Página 2 de 2

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 20 Dic 2016 21:09
por THEBEST1
gracias

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 10 Sep 2017 19:20
por jhonitimer
thanksss

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 29 Sep 2021 01:40
por ahmedsystem
nice plugin

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 08 Oct 2021 02:04
por edumar3211
Probando!

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 05 Abr 2022 00:55
por Berserk182
Gracias

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 01 May 2022 00:31
por UserAMS
Ceone escribió:
12 Abr 2013 16:12
ImagenImagen

Buenas amigos de AMSSpecialist a petición de un usuario he creado esta DLL usando user32.dll con la cual podréis mostrar o ocultar los botones de las ventanas, Botones: Minimizar, Maximizar, Cerrar. Espero que os guste la idea y os funcione correctamente!!

Funciones:
  • HideMinimize - Retorno Number "devuelve un numero que informa de si se a realizado con éxito la operación, 1: Si se realizo con éxito, 0: Si ocurrió algún fallo o el botón que deseas ocultar o mostrar ya esta oculto o mostrado."
  • HideMaximize - Retorno Number "devuelve un numero que informa de si se a realizado con éxito la operación, 1: Si se realizo con éxito, 0: Si ocurrió algún fallo o el botón que deseas ocultar o mostrar ya esta oculto o mostrado."
  • HideClose - Retorno Number "devuelve un numero que informa de si se a realizado con éxito la operación, 1: Si se realizo con éxito, 0: Si ocurrió algún fallo o el botón que deseas ocultar o mostrar ya esta oculto o mostrado.(En el retorno de esta función ocurre un error que aun no he podido reparar así que si notáis que el retorno no funciona del todo bien es mía la culpa jajajaja...)"
  • ShowMinimize - Retorno Number "devuelve un numero que informa de si se a realizado con éxito la operación, 1: Si se realizo con éxito, 0: Si ocurrió algún fallo o el botón que deseas ocultar o mostrar ya esta oculto o mostrado."
  • ShowMaximize - Retorno Number "devuelve un numero que informa de si se a realizado con éxito la operación, 1: Si se realizo con éxito, 0: Si ocurrió algún fallo o el botón que deseas ocultar o mostrar ya esta oculto o mostrado."
  • ShowClose - Retorno Number "devuelve un numero que informa de si se a realizado con éxito la operación, 1: Si se realizo con éxito, 0: Si ocurrió algún fallo o el botón que deseas ocultar o mostrar ya esta oculto o mostrado.(En el retorno de esta función ocurre un error que aun no he podido reparar así que si notáis que el retorno no funciona del todo bien es mía la culpa jajajaja...)"

Código 1.0.0.0:
UnmanagedExports.cs:
using System;
using RGiesecke.DllExport;
using System.Runtime.InteropServices;

namespace WindowButtons
{
internal static class WindowButtonsClass
{

#region USER32.DLL & OTHER FUNCTIONS

[DllImport("user32.dll")]
public static extern int GetSystemMenu(IntPtr hWnd, bool bRevert);

[DllImport("user32.dll")]
public static extern bool DeleteMenu(int hMenu, int uPosition, int uFlags);

[DllImport("user32.dll")]
internal extern static int SetWindowLong(IntPtr hwnd, int index, int value);

[DllImport("user32.dll")]
internal extern static int GetWindowLong(IntPtr hwnd, int index);

public static int HideResultBoolToNum(bool val)
{
int resval;
if (val == true)
{
resval = 1;
}
else
{
resval = 0;
}
return resval;
}

public static int ShowResultBoolToNum(bool val)
{
int resval;
if (val == false)
{
resval = 1;
}
else
{
resval = 0;
}
return resval;
}

public static int HideResultVal(int val)
{
int valRes;
if (val == 349110272)
{
valRes = 1;
}
else
{
valRes = 0;
}
return valRes;
}

public static int ShowResultVal(int val)
{
int valRes;
if (val == 349044736 || val == 348979200)
{
valRes = 1;
}
else
{
valRes = 0;
}
return valRes;
}

#endregion USER32.DLL & OTHER FUNCTIONS

[DllExport("ShowMinimize", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int ShowMinimize(IntPtr Handle)
{
long value = GetWindowLong(Handle, -16);
int rest = SetWindowLong(Handle, -16, (int)(value | 0x00020000L));
return ShowResultVal(rest);
}

[DllExport("ShowMaximize", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int ShowMaximize(IntPtr Handle)
{
long value = GetWindowLong(Handle, -16);
int rest = SetWindowLong(Handle, -16, (int)(value | 0x00010000L));
return ShowResultVal(rest);
}

[DllExport("ShowClose", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int ShowClose(IntPtr Handle)
{
int s_SystemMenuHandle = GetSystemMenu(Handle, true);
bool BooleanRes = DeleteMenu(s_SystemMenuHandle, 6, 1024);
return ShowResultBoolToNum(BooleanRes);
}

[DllExport("HideMinimize", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int HideMinimize(IntPtr Handle)
{
long value = GetWindowLong(Handle, -16);
int rest = SetWindowLong(Handle, -16, (int)(value & ~0x00020000L));
return HideResultVal(rest);
}

[DllExport("HideMaximize", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int HideMaximize(IntPtr Handle)
{
long value = GetWindowLong(Handle, -16);
int rest = SetWindowLong(Handle, -16, (int)(value & ~0x00010000L));
return HideResultVal(rest);
}

[DllExport("HideClose", CallingConvention = System.Runtime.InteropServices.CallingConvention.StdCall)]
static int HideClose(IntPtr Handle)
{
int s_SystemMenuHandle = GetSystemMenu(Handle, false);
bool BooleanRes = DeleteMenu(s_SystemMenuHandle, 6, 1024);
return HideResultBoolToNum(BooleanRes);
}
}
}


Descarga:
{{This message has been hidden}}
kpro

Re: [DLL] WindowButtons 1.0.0.0

Publicado: 02 Jun 2022 22:57
por HarunErcan01
Thanks