首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打开SetParent的游戏窗口

如何打开SetParent的游戏窗口
EN

Stack Overflow用户
提问于 2022-02-15 17:14:41
回答 1查看 40关注 0票数 -1

大家好。

代码语言:javascript
复制
    [DllImport("user32.dll")]
    public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
    
    public void DockAllNote(System.Windows.Forms.Panel panel)
    {
        Process[] MultiClients = Process.GetProcessesByName("notepad");
        foreach (Process Client in MultiClients)
        {
            hWndOriginalParent = Client.MainWindowHandle;
            SetParent(Client.MainWindowHandle, panel.Handle);
            panel.Refresh();
        }
    }`enter code here`

上面的代码。我想拆下记事本的窗户。

代码语言:javascript
复制
    public void UndockNoteAll(System.Windows.Forms.Panel panel)
    {
        Process[] MultiClients = Process.GetProcessesByName("notepad");
        foreach (Process Client in MultiClients)
        {
            SetParent(Client.MainWindowHandle, IntPtr.Zero);
            panel.Refresh();
        }
    }

我尝试过这个解坞代码,但undock没有工作。记事本留在面板上。怎么卸下车窗?一年前尝试过使用IntPtr.Zero进行卸载。我不记得密码是什么了。

抱歉,英语不好,谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-20 09:32:34

解决了。

代码语言:javascript
复制
IntPtr DockedHandle = IntPtr.Zero;
IntPtr OrjinalHandle = IntPtr.Zero;
//Dock
OrjinalHandle = process.MainWindowHandle
DockedHandle = SetParent(process.MainWindowHandle, panel.Handle);
//Undock
SetParent(OrjinalHandle, DockedHandle);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71130625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档