`
mypyg
  • 浏览: 549435 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

将窗口嵌入桌面

XP 
阅读更多
在试用某些Ap时,发现有些Ap的窗口可以嵌入桌面,这样Win+D键的时候就可以看到,很方便。在网上搜索了一下,原理就是将窗口的父窗口设置成桌面。
这个父窗口在Xp下通过FindWindow("Program manager","progman")找到,但是在win7下这个方法找到的父窗口就不好用了。用spy++看了之后,写了下面一段代码 findDesktopIconWnd(),在xp和win7下都可以找到这个父窗口。子窗口再调用SetParent(child,parent)就可以在桌面上看到了。
static BOOL enumUserWindowsCB(HWND hwnd,LPARAM lParam)
{
        long wflags = GetWindowLong(hwnd, GWL_STYLE);
        if(!(wflags & WS_VISIBLE)) return TRUE;

        HWND sndWnd;
        if( !(sndWnd=FindWindowEx(hwnd, NULL, L"SHELLDLL_DefView", NULL)) ) return TRUE;

        HWND targetWnd;
        if( !(targetWnd=FindWindowEx(sndWnd, NULL, L"SysListView32", L"FolderView")) ) return TRUE;

        HWND* resultHwnd = (HWND*)lParam;
        *resultHwnd = targetWnd;

        return FALSE;
}

HWND findDesktopIconWnd()
{
        HWND resultHwnd = NULL;
        EnumWindows((WNDENUMPROC)enumUserWindowsCB, (LPARAM)&resultHwnd);
        return resultHwnd;
}
分享到:
评论

相关推荐

    PyQt5将窗口嵌入桌面源码 恢复时不会留下窗口痕迹

    # PyQt5将窗口嵌入桌面源码 恢复时不会留下窗口痕迹 1. 使用 pywin32 查找到"SHELLDLL_DefView"窗口的父窗口,即桌面; 2. 将桌面设置为自己创建的 PyQt 窗口的父窗口,窗口即可嵌入到桌面; 3. 在右下角菜单栏显示...

    易语言把程序窗口嵌入桌面

    总的来说,易语言将程序窗口嵌入桌面的技术涉及到Windows API的使用、窗口句柄操作、消息处理以及编程技巧。对这些知识点的掌握,不仅能帮助你创建出独特的用户界面,也能提升你在Windows编程领域的专业技能。

    完整版把自己的窗口嵌入桌面[源码].bak.rar

    标题中的“完整版把自己的窗口嵌入桌面[源码].bak.rar”表明这是一个关于将自定义窗口集成到桌面环境的编程项目源代码备份文件。描述与标题相同,进一步确认了这个压缩包包含的是实现这一功能的源代码。标签“完整版...

    PySide2窗口嵌入桌面示例

    # PySide2(Qt for Python)窗口嵌入桌面示例 1. 使用win32api.EnumWindows()枚举窗口; 2. 先找到"SHELLDLL_DefView"窗口的父窗口;...例程使用方法:右键托盘栏图标,可以选择将窗口嵌入桌面或将窗口变回正常桌面。

    C#实现窗体嵌入桌面,鼠标穿透功能

    在本例中,我们将当前窗体的父窗口设置为桌面窗口,从而实现了窗体嵌入桌面的效果。 ```csharp SetParent(this.Handle, hDeskTop); ``` 5. **其他相关API**: - `GetWindowLong`:获取指定窗口的指定属性值。 ...

    易语言源码把程序窗口嵌入桌面.rar

    在标题和描述中提到的"易语言源码把程序窗口嵌入桌面"是一个关于易语言编程的话题,主要涉及如何将程序的界面窗口无缝地融入到操作系统桌面环境中,实现类似Windows任务栏托盘图标的效果。 要实现这个功能,首先...

    易语言窗口嵌入桌面做动态壁纸

    在这个特定的主题中,“易语言窗口嵌入桌面做动态壁纸”涉及的技术主要包括窗口管理、系统钩子以及动态壁纸的实现。 首先,我们要理解窗口管理的概念。在Windows操作系统中,窗口是用户与应用程序交互的基本元素。...

    易语言源码把程序窗口嵌入桌面.7z

    在这个"易语言源码把程序窗口嵌入桌面.7z"压缩包中,包含的源代码是关于如何将一个程序的窗口与桌面融为一体的技术实现。 首先,我们要理解“程序窗口嵌入桌面”这一概念。在Windows操作系统中,通常程序窗口是独立...

    把自己的窗口嵌入桌面[源码]

    通过学习这份源码,开发者不仅可以掌握如何将窗口嵌入桌面,还能深入理解Windows API的工作原理,这对于进行Windows桌面应用程序的开发大有裨益。同时,对于易语言的学习者来说,这是一次宝贵的实践机会,能够提高...

    完整版把自己的窗口嵌入桌面[源码].rar

    要实现窗口嵌入桌面,我们需要将我们的窗口置于这个层次结构的最底层,使其看起来像是直接绘制在桌面上。 1. **窗口类注册**:首先,你需要定义一个窗口类,并在Windows API中注册它。窗口类包含了许多属性,如窗口...

    完整版把自己的窗口嵌入桌面[源码].e.rar

    这个压缩包文件"完整版把自己的窗口嵌入桌面[源码].e.rar"很可能包含了一个实现此类功能的C++或者C#编程示例,因为这两种语言广泛用于Windows开发,并且提供了对底层系统调用的直接访问。 窗口嵌入桌面的核心技术是...

    把自己的窗口嵌入桌面[源码].rar

    在IT行业中,窗口嵌入桌面是一项常见的技术,它允许开发者创建的应用程序窗口看起来像是直接“吸附”在桌面之上,提供了一种独特的用户交互体验。这个压缩包文件"把自己的窗口嵌入桌面[源码].rar"显然包含了一个实现...

    VB源代码:将窗体嵌入桌面的程序.rar

    这个“VB源代码:将窗体嵌入桌面的程序.rar”提供的源代码示例就展示了如何实现这样的功能。下面将详细解释相关知识点。 1. **Windows API调用**: VB本身的功能有限,对于像窗体嵌入桌面这样深入的操作,通常需要...

    易语言嵌入窗口

    2. **嵌入操作**:接着,需要将子窗口嵌入到主窗口中。这通常通过Windows API的`CreateWindowEx`函数或易语言的“创建窗口控件”命令实现,设置子窗口的父窗口为主窗口,并将其位置和大小设置为希望嵌入的位置和大小...

    C#将指定的外部程序嵌入桌面代码

    3. **设置父窗口**:如果想要窗口嵌入到桌面,可以将桌面设为父窗口。桌面窗口的句柄可以通过`GetDesktopWindow`函数获取。 4. **调整窗口位置和大小**:根据需求,可能需要调整窗口的位置和大小,使其适应桌面或者...

    易语言源码把自己的窗口嵌入桌面[源码].7z

    在本压缩包“易语言源码把自己的窗口嵌入桌面[源码].7z”中,包含了一个易语言编写的源代码项目,该项目的主要功能是将程序的窗口嵌入到桌面之下,实现类似桌面壁纸的效果。 首先,我们需要理解窗口嵌入的概念。在...

    易语言-把自己的窗口嵌入桌面[源码]

    在本压缩包中,"把自己的窗口嵌入桌面[源码]" 是一个易语言的示例程序,主要展示了如何通过API调用来实现将自定义窗口嵌入到桌面背景之下,使其看起来像是桌面的一部分。 API(Application Programming Interface)...

    易语言源码易语言智能嵌入桌面源码.rar

    易语言源码易语言智能嵌入桌面源码.rar 易语言源码易语言智能嵌入桌面源码.rar 易语言源码易语言智能嵌入桌面源码.rar 易语言源码易语言智能嵌入桌面源码.rar 易语言源码易语言智能嵌入桌面源码.rar 易语言源码...

    易语言源码易语言将桌面嵌入窗口源码.rar

    易语言源码易语言将桌面嵌入窗口源码.rar 易语言源码易语言将桌面嵌入窗口源码.rar 易语言源码易语言将桌面嵌入窗口源码.rar 易语言源码易语言将桌面嵌入窗口源码.rar 易语言源码易语言将桌面嵌入窗口源码.rar ...

Global site tag (gtag.js) - Google Analytics