我试图提出需要从桌面上取用的应用程序,在ons后面,似乎取代桌面挂图。 我找到了这方面的几个解决办法,但其中大多数工作做得很好(点火)。 一种解决办法是:。 我主要使用高层次图像图书馆或仅使用Windows表格的C#应用程序,有些C++,但仅使用非Windows平台。
如果任何人能够“向我转达”或向我提供另一种解决办法,那将受到高度赞赏。
我试图提出需要从桌面上取用的应用程序,在ons后面,似乎取代桌面挂图。 我找到了这方面的几个解决办法,但其中大多数工作做得很好(点火)。 一种解决办法是:。 我主要使用高层次图像图书馆或仅使用Windows表格的C#应用程序,有些C++,但仅使用非Windows平台。
如果任何人能够“向我转达”或向我提供另一种解决办法,那将受到高度赞赏。
我从未找到过我所希望的解决办法,但这里是最好的(只有吗?)替代办法:
利用“SysListView32”窗口(ProgMan->SHELLDL_DefView->SysListView32)。 这将从 desktop背后,但在使用消化时将浮标。 如何:Link (You ll have to use interop in .NET).
使用直接草料。 你把桌面颜色带给某种模糊的颜色,所有与这种颜色相色的东西都将被lay上的东西所取代。 这一点在我的问题和《维也纳条约法公约》的纸面方式中都得到了使用。 然而,这不符合Aero。 如何:。 (我猜测你可以在网络中使用直接X)。
你们可以在《世界建筑工程》媒体参与者守则中找到灵感。 http://git.videolan.org/?p=vlc.git;a=blob;f=modules/video_output/msw/directx.c;h=678e7e7e40acf84d6b362c0c09a417116a0d244;hb=HEAD#l1770” rel=“nofollow norekter”
我知道这是一个很晚的答复,但我最近对自己进行了研究,如果更多的用户也存在同样的问题,这可能会帮助他们。
NOTE:这一答案是C++,但也许可以帮助您在C#中这样做。
如以上评论所述,见。 本指南至<><><>>>。 我将如何利用
采用这两种方法:
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
HWND p = FindWindowEx(hwnd, NULL, "SHELLDLL_DefView", NULL);
HWND* ret = (HWND*)lParam;
if (p)
{
// Gets the WorkerW Window after the current one.
*ret = FindWindowEx(NULL, hwnd, "WorkerW", NULL);
}
return true;
}
HWND get_wallpaper_window() {
// Fetch the Progman window
HWND progman = FindWindow("ProgMan", NULL);
// Send 0x052C to Progman. This message directs Progman to spawn a
// WorkerW behind the desktop icons. If it is already there, nothing
// happens.
SendMessageTimeout(progman, 0x052C, 0, 0, SMTO_NORMAL, 1000, nullptr);
// We enumerate all Windows, until we find one, that has the SHELLDLL_DefView
// as a child.
// If we found that window, we take its next sibling and assign it to workerw.
HWND wallpaper_hwnd = nullptr;
EnumWindows(EnumWindowsProc, (LPARAM)&wallpaper_hwnd);
// Return the handle you re looking for.
return wallpaper_hwnd;
}
我能够检索窗户。
自2006年以来 我只熟悉SDL,这是我发现的唯一解决办法,但我认为,任何使你能够创造/改变基于另一个窗口的窗口的办法都应奏效。
window = SDL_CreateWindowFrom((void*)get_wallpaper_window());
以上线使我能够在SDL中从通过<代码>get_ Wallow(方法检索的HWND中建立一个窗口。
由于涉及许多法典,我将把my Solutions on github。 这可以在你的台.后面 draw许多星(尽管我认为可以改进)。
顺便提一下这个问题,我已经部分地解决了问题(我不能给出任何有用的准则),使一些冷却游戏成为可能,尽管你可能没有这样做:
下面请您发言,以便:
这是我对完整屏幕表所做的那样,但我很方便地认为,可以适应非全面屏幕表格。 基本上,你已经更换了台式,但能够做任何事情,包括一些冷却游戏。 速度和性能令人满意,但桌面互动是一个问题...... 这里是使用这一原则的坦克游戏的场所,但我确定背景是白人,所有白人背景也透明!
是的,见。