Jump to content

Aero Glass for Win8 RC4


bigmuscle

Recommended Posts

After I have seen your app I decide to pause the development of Winaeroglass. BTW, I am the person behind Winaero :)

I was using your app before discovering bigmuscle's one. It was efficient. No blur, but still cool :)

Link to comment
Share on other sites


ad iTunes: it does not seem to like its window to be layered and it does not work either with any utility which makes windows transparent (e.g. bLend,WinAeroGlass etc.).

After I have seen your app I decide to pause the development of Winaeroglass. BTW, I am the person behind Winaero :)

-----------

Tried with clean FF

Works properly.

I have been using yours with the System Transparency app and they work well together and seem to remove some of the bugs, I think you should continue your development or at least get it to a finished UI state with startup options.

Link to comment
Share on other sites

This work is great!

Very nice to see progress of winaero glass on Windows 8.

Is there any possible way to hide cmd-window of dwm.exe while tool is running?

Yes, of course I understand that this is only preview version, and intro message box is ok, but to show cmd one at everythime is not so good.

Tried to use ORelio's C# code to hide it, but nothing well.

Sure I will wait for the new version of DWMHook!

Very interested in this project and hope it will be open-source to let any other developers work with it.

Also I want to look at the source :) .

Link to comment
Share on other sites

Tried to use ORelio's C# code to hide it, but nothing well.

I added a loop in the program, so it should be able to skip the dialog no matter how long it takes to launch DWMLoader :

static class Program
{
[STAThread]
static void Main()
{
//Launch the app, Skip the dialog & dialog sound
System.IO.Directory.SetCurrentDirectory("C:\\DWM\\");
Toolbox.VolumeMute();
Process.Start(new ProcessStartInfo("DWMLoader.exe"));
while (Toolbox.closewindow("DWMLoader")) { Thread.Sleep(100); }
new Thread(new ThreadStart(End)).Start();
}

static void End() //Separate thread to avoid freezing dwm.exe
{
Thread.Sleep(1000); Toolbox.VolumeMute();
}
}

public static class Toolbox
{
public static bool closewindow(string name)
{
Process[] procs = Process.GetProcessesByName(name);
if (procs.Length > 0)
{
if (procs[0].MainWindowHandle != IntPtr.Zero)
procs[0].CloseMainWindow();
return true;
}
else return false;
}

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
IntPtr wParam, IntPtr lParam);

public static void VolumeMute()
{
Form Form1 = new Form();
SendMessageW(Form1.Handle, 0x319, Form1.Handle,
(IntPtr)0x80000);
}
}

Regarding the console window, this not possible to hide it because it's attached to the dwm.exe process, which is the window manager.

If you hide the window manager, it will freeze the whole screen except the mouse pointer and you'll have to reboot windows ( I tried :P )

... The only possible thing is minimizing the console window it in the taskbar. Of course this window is for debug purposes only, it should disappear in the final version ^^

Here is a way to launch the previous loader & minimize all of the windows (again, it's not possible to minimize the window manager itself) :

//You need to add the reference "Microsoft Shell Controls And Automation" in the COM tab of the Add Reference dialog in order to use the Shell32 class

static class Program
{
[STAThread]
static void Main()
{
Process P = Process.Start(new ProcessStartInfo("C:\\DWM\\DWMLoaderOfTheLoader.exe"));
P.WaitForExit();
Shell32.ShellClass objShell = new Shell32.ShellClass();
objShell.MinimizeAll();
}
}

Of course, instead of usign a loader of the loader of the loader, it would probably be wiser to wait until the beta :)

Link to comment
Share on other sites

AERO GLASS for Win8 PREVIEW 2

This is still preview only, so it does not have to work for you at all. Report if it does not run at all, so I can fix as soon as possible.

What's new:

* removed MSVCR110D.DLL and MSVCP110D.DLL dependency

* started code refactoring

* fixed DWM deadlock with some applications (e.g. Snipping Tool)

* decreased video memory to the half

* it should be approx. three-times faster (although it can still be slow when having many large windows)

* added some registry settings:

HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\DWM (no user-specific settings now!)

DeviceFeatureLevel (DWORD) = forces to use specific Direct3D version level. Helpful in case of incompatible drivers etc. Allowed values 0x9100, 0x9200, 0x9300 (VMWare default), 0xa000 (for D3D 10), 0xa100 (for D3D 10.1), 0xb000 (for D3D 11), 0xb100 (for D3D 11.1). Do not use if everything works correctly!!!

BlurDeviation (DWORD) = the amount of blur to be applied. Set to 0 to disable blur effect completely. Default value is 30.

GlassTransparency (DWORD) = value of alpha component which will be applied to the glass. Range 0 (total transparency) - 255 (opaque), default value is 175.

Please, if you want to play with these settings, report back which value are the best for you, so I can allow best user experience in release version :-)

http://leteckaposta.cz/621343263 (reuploaded)

Edited by bigmuscle
Link to comment
Share on other sites

great :) Now I have the true glass/transparency back, but blur is missing in StartIsBack:

post-70718-0-43154900-1359665810_thumb.p

:thumbup :thumbup :thumbup:wub:

I also have a crash.log:


ntdll: 0x9F115CFF: RtlQueryDepthSList
ntdll: 0x9F115A9F: RtlQueryDepthSList
dwmcore: 0x9A5085AF: MilComposition_PeekNextMessage
dwmcore: 0x9A508EB1: MilComposition_PeekNextMessage
dwmcore: 0x9A508CCB: MilComposition_PeekNextMessage
dwmcore: 0x9A4E5BCE: MilConnectionManager_NotifyHostEvent
dwmcore: 0x9A4E5B6D: MilConnectionManager_NotifyHostEvent
dwmcore: 0x9A4C4677: ?
dwmcore: 0x9A4C42F0: ?
dwmcore: 0x9A4C41BD: ?
dwmcore: 0x9A4C2C26: ?
dwmcore: 0x9A4C1F84: ?
dwmcore: 0x9A556B5C: MilCompositionEngine_InitializePartitionManager
KERNEL32: 0x9D83167E: BaseThreadInitThunk
ntdll: 0x9F12A5E5: RtlUserThreadStart

and when opening a new window, there is a delay before the transparency is enabled.

Edited by MagicAndre1981
Link to comment
Share on other sites

It's getting there, looks good!

The text colour is a bit of a problem though. I notice one or two unsigned themes have the glow around the text like in the picture below, which allows the use of black text. Maybe this could be considered as an option?

Note, the pic is the standard demo pic for the theme, it isn't my machine!

dark_theme_for_windows8_rtm_by_nighthawk_f22-d5d6ma9.jpg

Edited by burfadel
Link to comment
Share on other sites

Congrats, this new demo is much more smoother and uses much less RAM (22MB vs 180MB for dwm.exe :thumbup )

Also, customization of the blur/transparency is a great feature!

I've set the opacity to 125 and for me that's the best value.

The current default blur value of 30 is fine -- tried 15, 20, 25, 35 :yes:

windows8blur02bybigmusc.png

//Sorry, I couldn't resist ^^

static class Program
{
[STAThread]
static void Main()
{
//Launch the app, Skip the dialog & dialog sound
System.IO.Directory.SetCurrentDirectory("C:\\DWM\\");
Toolbox.VolumeMute();
Process.Start(new ProcessStartInfo("DWMLoader.exe"));
while (Toolbox.setforeground("DWMLoader")) //Set the focus on the dialog
{
Toolbox.sendEnter(); //Simulate a Return/Enter keypress to activate the OK button
Thread.Sleep(100); //Avoid looping too fast and thus wasting CPU
}
new Thread(new ThreadStart(End)).Start();
}

static void End() //Separate thread to avoid freezing dwm.exe
{
Thread.Sleep(1000); Toolbox.VolumeMute();
}
}

public static class Toolbox
{
[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern bool SetForegroundWindow(IntPtr hWnd);

public static bool setforeground(string name)
{
Process[] procs = Process.GetProcessesByName(name);
if (procs.Length > 0)
{
if (procs[0].MainWindowHandle != IntPtr.Zero)
SetForegroundWindow(procs[0].MainWindowHandle);
return true;
}
else return false;
}

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, UIntPtr dwExtraInfo);

public static void sendEnter()
{
keybd_event((byte)0x0D, (byte)0x02, 0, UIntPtr.Zero);
keybd_event((byte)0x0D, (byte)0x82, (uint)0x2, UIntPtr.Zero);
}

[System.Runtime.InteropServices.DllImport("user32.dll")]
private static extern IntPtr SendMessageW(IntPtr hWnd, int Msg,
IntPtr wParam, IntPtr lParam);

public static void VolumeMute()
{
Form Form1 = new Form();
SendMessageW(Form1.Handle, 0x319, Form1.Handle,
(IntPtr)0x80000);
}
}

Edited by ORelio
Link to comment
Share on other sites

As usual, nice update, no longer get flickering Windows, iTunes is still transparent, but not a big problem for me. The only issue I see so far is the window close animation doesn't play. Aside from that, keep up the good work! :D

Link to comment
Share on other sites

Excellent work again. I'm playing around with several values. I will test each of the values for a few hours and see how they contrast with the rest of the desktop and how my eyes adjust and will post my opinion tomorrow. Thanks for your work on re-introducing Aero Glass to Windows 8. I don't think that I'm exaggerating when I say that millions of Windows 8 users will be very happy.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...