Jump to content

bigmuscle

Patron
  • Posts

    1,758
  • Joined

  • Days Won

    7
  • Donations

    0.00 USD 
  • Country

    Czech Republic

Everything posted by bigmuscle

  1. So next try, could you try this version http://leteckaposta.cz/653469406 (debug DLLs still required! Beta version won't need them) It should generate file C:\DWM\debug.log with logs of initializing actions. I hope it will help to fix me the problems.
  2. my dwm is 6.2.9200.16384 even with all updates installed, but it should not make any difference :-/ I will try to add some debug output into file to see where it makes the error. EDIT: blah, I am probably stupid. I already had some debug filelogs on the code but to the file E:\DWM, I guess it's what causes the crash (writing to inaccessible file). I will fix and add some more debug logs and will upload fixed version.
  3. Is there anyone who could run it? (and please do not complain about missing DLLs, this is only developer preview which requires to have debugging runtime installed). I have checked the code and do not understand why it should end up with the black screen :-(
  4. Also, I forgot that I have UAC disabled - if it makes difference. Could you try this version http://leteckaposta.cz/223020690 and then run DWMLoader with parameter "-donotrestartdwm" (without quotes). Then restart video adapter in device manager.
  5. Does it display "This is preview" dialog before? I have VMWare 5.0.1 build-894247, Windows 8 Pro N x64. Only Visual Studio 2012 installed, else completely clean system.
  6. I guess it is the problem we were talking about that you was logged off when dwm is killed (it's what the loader does). Could you try disabling your video adapter in Device Manager before launching the loader?
  7. I have updated the first post with link to download preview version. Be aware that it is preview only and has been compiled for 64-bit system (32-bit version will come later). Tested under VMWare. It may contain many bugs. It has not been optimized at all. I have not cared about unused resources cleanup etc. It has not been tested much, it is just a "hey, it works!" :-)
  8. Linktopower: I develop it on x64 system, but it should not be the problem to build 32bit library. I will post it with the preview version but can't ensure it will work.
  9. It brings one main advantage. New fuctionality is added just by loading DLL and removed by its unloading. If you replace system file, then the only possibility is restoring the original file which does not have to be so easy to do it on-the-fly. Also, if you create some bug (e.g. crash) then injecting method only causes the restart of the process but file-patching method can kill whole system (and it took me really long time to force system to go into recovery options at boot).
  10. I don't think this can be implemented in any application, because it is just a DLL which is loaded into dwm.exe process ;-) I will also try whether AppInit_DLL thing works on Windows 8 for dwm.exe, this would be the best solution!
  11. Could you try running cmd.exe with admin privileges and command "taskkill /f /im dwm.exe" ? The other possibility to restart Direct3D device is to open Device Manager, find videoadapter, select Disable for it and then re-enable. But I do not know how to easily automate this procedure in C++. The correct solution would be getting existing pointer to ID3D11Device instance and hook it. But this is very complicated because you need also get all pointers to all pixel+vertex shaders and input layouts which are created with D3D device. Or... the last solution which I want to avoid... to modify dwmcore.dll to load my library instead of D3D11.dll
  12. No no, killing dwm.exe works here but it automatically restarts the process. I currently use this method but it's a little race whether it manages to hook Direct3D device creation function before DWM tries to do it.
  13. I have not played with the taskbar yet. But since the taskbar texture is easily identifiable it should not be so hard to add blur effect beneath the taskbar. To Explorer, Win8 Explorer has standard titlebar (unlike Win7) so it works as any other window. Maybe we could try to call DwmExtendFrameIntoClientArea on WinExplorer windows to see what happens :-) Currently, I have two serious bugs to solve now then I will provide a test version: 1) To hook drawing functions properly, Direct3D device pointer must identified. It is easily possible by hooking D3D11CreateDevice (which provides pointer to D3D 11 device) and then device->QueryInterface (which provides pointer to D3D 10.1 device which is used for desktop composition). The problem is that DWM calls these two functions only on startup or when video adapter is restarted (e.g. via Device manager). I have not found a correct way to do it automatically. In Windows 7, this was possible by calling DwmEnableComposition(DISABLE...) and DwmEnableComposition(ENABLE...) but this has no effect on Windows 8. 2) Blur algorithm works by averaging the neighboring pixels. The problem is that pixels on the edge have no neighboring pixels on one side and therefore blurred pixel is computed from some random value. This is no problem for window edge because it won't be so noticeable there (you can notice it at my preview picture, upper edge of "O produktu Windows" window). The problem is when DWM wants to repaint only a part of window border. Then you will see these "edge pixels" at the edge of the clipped region (which can be e.g. in the middle of the titlebar).
  14. Topic closed at author's request - MSFN staff Aero Glass for Win8 RC4 Hello, maybe somebody will be interested in my small project. Therefore, I am sharing the first information about it. I have managed to reimplement Aero Glass function into Windows 8 Desktop Window Manager. How does it work? I have developed DLL library in C++ which is injected into dwm.exe process (no system files replacement is required). Then, the functions used for window border drawing are hooked with my own implementation. This ensures that anytime DWM wants to draw the window border, the code is redirected into my library where I change the drawing parameters and redirect back to the original drawing function. Transparent window border wih blur effect is drawn! Is it completely new implementation? Just a partially. Since a lot of Aero Glass resources is still present in Win8, I'm trying to reuse them as much as possible. The blur effect is implemented completely in Direct3D with using of native shaders and system settings. With some small exceptions, I just call the same commands as they would be called by Windows itself (e.g. in Win7 or Win8 RP). The problem lies in loading library into memory, because - for correct function - it has to be loaded together with DWM process but before creation of its internal objects. Currently, the method of DLL injection via AppInit_DLLs registry key is used but it is not supported when UEFI secure boot is enabled. http://glass8.berlios.de --> registry script to install this utility is attached in the archive but you must manually edit the file to point to the location where you extract DLL file --> the glass will automatically load at Windows startup --> if your computer won't boot up for some reason (glass failure), hold CTRL key during DWM loading and no procedure will be installed into memory --> if you use custom theme which has hardcoded fully opaque borders, the effect won't be visible --> if there is any bug and DWM crashes, it will generate minidump file in the folder where you extracted DLL to and you should upload this minidump file to allow the bug to be fixed --> this utility is for Windows 8 only! Testing version for Windows 8.1 will be available to closed private group only --> THIS IS THE TEST VERSION, THUS IT LIMITS ITS REGULAR USAGE BY DISPLAYING WARNING MESSAGE PERIODICALLY. DO NOT ASK HOW TO REMOVE THIS MESSAGE !!! --> THIS IS THE TESTING VERSION INTENDED FOR ADVANCED USERS ONLY, IF YOU ARE NOT ABLE TO UNDERSTAND THE INSTALLATION INSTRUCTIONS THEN YOU SHOULD NOT USE THIS SOFTWARE !!! You use this software on your own risk and you agree that you will not use it against its purpose (testing and preview). You are not allowed to disassemble or crack this software by any method (binary modification, DLL injection, function hooking etc.) else you are violating the copyright, because you are trying to bypass software protection. I hope you will like it :-)
  15. Interesting, but IMHO transparent borders without Aero Blur are not as good as solid. What I truly want added to Windows 8 is Flip3D as in Windows 7. Yeah, blurring is my plan. But, starting from Vista (and Win7/8) it is not so easy to do. Technique which did work on XP simply does not work with DWM enabled. Although DWM renders windows into off-screen buffer, it is not possible to get pixels which are hidden under certain window - or better, it is possible to iterate over all windows in needed z-order, render them into my buffer and composite whole desktop (then get rectangle under window border and do a blur on it) on my own. It is very fast when you have two or three windows on your desktop. But performance will degrade with the amount of opened windows. Maybe there is another way but I have not found a solution yet...
  16. I will start it, just wanted to know whether someone is really interested in it... no it is not based on any tool, it is completely new (and very small) utility (let's say something like WindowBlinds but intended for window titles only).
  17. Hello, sorry for spam, this is not directly StartIsBack related, but someone could be interested in it. Would somebody be interested in the development of the small utility which returns transparent titlebars in Win8? This is not regular Aero Glass but the utility (currently slow and buggy) which replaces windows titlebars with transparent images.
  18. imaginaryperson: Now I admit that I really do not know what to do. I doubt that windows border color is hardcoded in any DLL. This color is stored in system registry and it has already set alpha channel (although it is not applied).
  19. Do I understand correctly that it would be possible to return glass efect (without blur) by creating theme where windows border image has set non-opaque alpha channel? I was trying to play with Desktop Windows Manager and tried using following files (+corresponding en-US/*.mui) from Release Preview in RTM version: dcomp.dll dwm.exe dwmapi.dll dwmcore.dll dwmredir.dll When default Windows 8 Shell is used then system ends up with black screen before login. When Windows 7 Shell (explorer from this topic) is used then system normally works but taskbar is black, Aero Lite theme is used and desktup customize settings says "Desktop Composition is disabled". So either I forgot some files or it will require some patching to return old DWM. I did just this simple test.
  20. Excellent! I tried this patch and it really brings the original Win7 shell back. Now it would be interesting whether it is possible to bring back original Desktop Window Manager to have Aero Glass functionality back. btw, maybe a bit offtopic, but is it possible to put background image on win8 login/welcome/restarting/shutting down screen? It is only a minority, but Win7 has nice background there and Win8 uses only a plain colour which looks ugly.
×
×
  • Create New...