Security Software review and downloads
  • Home
  • Spyware & Spyware Remover
  • Registry & Registry Cleaner
  • Firewall
  • Hacked
  • Uninstall & Uninstaller
  • Antivirus

Glass Effect using dwmapi.dll in windows xp on C#?

November 4th, 2009 · No Comments

Hii i am writing a code to make the glass effect on windows form. Well the code works fine on vista but my target is on windows xp. I have copyed all the dll’s that are reqired and when i debug i am getting an error "DLL NOT FOUND EXCEPTION UNHANDILED".
Here is the code that i am using:-
—————————————————————————————————————————–
This is the class where i import dwmapi dll.
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace welcome_page
{
class VistaGlassEffect
{
internal class VistaApi
{
[DllImport("dwmapi.dll")]
internal static extern void DwmExtendFrameIntoClientArea(System.IntPtr hWnd, ref Margins pMargins);

[DllImport("dwmapi.dll")]
internal static extern void DwmIsCompositionEnabled(ref bool isEnabled);

internal struct Margins
{
public int Left, Right, Top, Bottom;
}

// consts for wndproc
internal const int WM_NCHITTEST = 0×84;
internal const int HTCLIENT = 1;
internal const int HTCAPTION = 2;
}
}
}
—————————————————————————————————————————–
This the form where i call this class "VistaGlassEffect"

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX.AudioVideoPlayback;
using System.Diagnostics;
using System.Drawing.Drawing2D;

namespace welcome_page
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
this.FitGlass();
}
Video video;
private welcome_page.VistaGlassEffect.VistaApi.Margins marg;
private Rectangle topRect = Rectangle.Empty;
private Rectangle botRect = Rectangle.Empty;
private Rectangle lefRect = Rectangle.Empty;
private Rectangle rigRect = Rectangle.Empty;

private void FitGlass()
{
// If DWM is not enabled then get out
if (!this.IsGlassEnabled())
{
return;

}

// Set the Margins to their default values
marg.Top = 600; // extend from the top
marg.Left = 400; // not used in this sample but could be
marg.Right = 200; // not used in this sample but could be
marg.Bottom = 860;// not used in this sample but could be

this.Paint += new PaintEventHandler(this.Form1_Paint);

// call the function that gives us glass,
// passing a reference to our inset Margins
welcome_page.VistaGlassEffect.VistaApi.DwmExtendFrameIntoClientArea(this.Handle, ref marg);
}

private void apply()
{
this.Paint -= new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);
this.RecreateHandle(); //needed if changing on the fly
this.FitGlass();

}

private bool IsGlassEnabled()
{
//if (Environment.OSVersion.Version.Major < 6)
//{
// Debug.WriteLine("How about trying this on Vista?");
// return false;
//}

//Check if DWM is enabled
bool isGlassSupported = false;
——welcome_page.VistaGlassEffect.VistaApi.DwmIsCompositionEnabled(ref isGlassSupported);—Here Error OCCURS.
return isGlassSupported;
}

// Alpha-blending Paint after the glass extension
// this seems better than the winforms transparency approach because here we can click on the glass!
private void Form1_Paint(object sender, PaintEventArgs e)
{
// black brush for Alpha transparency
SolidBrush blackBrush = new SolidBrush(Color.Black);

Graphics g = e.Graphics;

if (this.IsGlassEnabled())
{
// setup the rectangles
topRect = new Rectangle(0, 0, this.ClientSize.Width, marg.Top);
lefRect = new Rectangle(0, 0, marg.Left, this.ClientSize.Height);
rigRect = new Rectangle(this.ClientSize.Width - marg.Right, 0, marg.Right, this.ClientSize.Height);
botRect = new Rectangle(0, this.ClientSize.Height - marg.Bottom, this.ClientSize.Width, marg.Bottom);
// Fill Rectangles
g.FillRectangle(blackBrush, topRect);
g.FillRectangle(blackBrush, lefRect);
g.FillRectangle(blackBrush, rigRect);
g.FillRectangle(blackBrush, botRect);
}

blackBrush.Dispose();
}

protected override void WndProc(ref Message m)
{
base.WndProc(ref m);

if (m.Msg == welcome_page.VistaGlassEffect.VistaApi.WM_NCHITTEST // if this is a click
&& m.Result.ToInt32() == welcome_page.VistaGlassEffect.VistaApi.HTCLIENT // …and it is on the client
&& this.IsOnGlass(m.LParam.ToInt32())) // …and specifically in the glass area
{
m.Result = new IntPtr(welcome_page.VistaGlassEffect.VistaApi.HTCAPTION); // lie and say they clicked on the title bar
}
}

private bool IsOnGlass(int lParam)
{
// sanity check
if (!this.IsGlassEnabled())
{
return false;
}

// get screen coordinates
int x = (lParam << 16) >> 16; // lo order word
int y = lParam >> 16; // hi order word

// translate screen coordinates to client area
Point p = this.PointToClient(new Point(x, y));

// work out if point clicked is on glass
if (topRect.Contains(p) || lefRect.Contains(p) || rigRect.Co

Related posts:

  • vista taskbar problem (glass)?
  • i have windows vista home premium. my windows have the glass effect when they are not...
  • Can someone find the errors in the following java statements?
  • a.) Rectangle r= (5,10,15, 20) b.) double width = Rectangle (5,10, 15, 20) c.)...
  • >Windows Vista< THEMES!?
  • Hmm Can someone help me? I AM trying to get VISTA Glass theme DOWNLOADED VD-GLASS BY...
  • What is the terminology for the small rectangle that shows up in Windows XP when a program is run?
  • For instance, when I start up Firefox, or Internet Explorer, or Windows Explorer, or...
  • Is private browsing really private on a mac?
  • I know if you delete all your history and passwords and forms and all that on a windows...
  • Glass apperance add in for windows XP?
  • do u know where i could find an add in for windows xp to make the window apperance like...
  • How do I uninstall Internet Explorer by Yahoo and install internet explorer 8 ?
  • When I try to install plain old IN explorer 8, it says I can't because I have a...
  • please find the errors in this program?
  • #include<stdlib.h> #include<stdio.h> int pwr(int a, int b); void table...
  • I am working on an C++ encryption program and I can use some help?
  • Develop a program that performs simple cryptography. The program will allow the user to...
  • I have Windows Vista with a valid/legal key. Will re-installing a different version void this?
  • My PC did not come with a Windows disk, but I do have the key. I downloaded a Windows...

    Tags: Dll


    0 responses so far ↓

    • There are no comments yet...Kick things off by filling out the form below.

    Leave a Comment

    *
    To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
    Click to hear an audio file of the anti-spam word

    Tags: Email Spam Uninstall spyware Security Software Trend Micro Registry Cleaner Pc Tools Norton Nod32 Kaspersky Internet Security Hacked Firewall Computer Security Avg Avast Antivirus Ad Aware Monitoring Software Encryption Backup


    A Slow System?
    Harassed by DLL errors?
    Plagued by constant Blue Screens?
    Receiving error messages and don't know why?

     
    • Most popular Software downloads

      • Pctools
      • kaspersky
    About | Contact Us | Old Sitemap Security Software review and download . All rights reserved PoweredBy Yahoo!API.