已经干到天快亮了,就不废话直接贴点儿代码吧

        private const int WS_THICKFRAME = ;
private const int WS_BORDER = ; /// <summary>
/// 查找窗口
///第一个参数是窗口的标题,第二个参数可直接用 null
///通过窗口的标题查找对应的窗口
/// </summary>
[DllImport("user32.dll")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); //设置窗口的父窗体
[DllImport("user32.dll", SetLastError = true)]
private static extern long SetParent(IntPtr hWndChild, IntPtr hWndNewParent); //该api用于嵌入到窗口中运行 //获取窗口样式
[DllImport("user32.dll")]
public static extern int GetWindowLong(IntPtr hWnd, int nIndex); //设置窗口样式
[DllImport("user32.dll")]
public static extern int SetWindowLong(IntPtr hWnd, int nIndex, int dwNewLong); //设置窗口位置
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int MoveWindow(IntPtr hWnd, int x, int y, int nWidth, int nHeight, bool BRePaint);      //设置过后就不再重复设置
     bool isSeted = false; //传入子窗体的句柄(可以使用FindWindow获取)
public void SetWindowParent(IntPtr wnd)
{
if (!isSeted)
{
//子窗口句柄,父窗口句柄(我这里用的Winform里的panel控件的句柄,这样就会将我的子窗口嵌入到panel里面)
SetParent(wnd, unityPanel.Handle); Int32 wndStyle = GetWindowLong(wnd, -);
wndStyle &= ~WS_BORDER;
wndStyle &= ~WS_THICKFRAME;
SetWindowLong(wnd, -, wndStyle);
MoveWindow(wnd, , , unityPanel.Width, unityPanel.Height, true); isSeted = true;
}
}

C# 使用Win32 API将1个EXE程序嵌入另1个程序中的更多相关文章

  1. Serial Port Programming using Win32 API(转载)

    In this tutorial we will learn How to communicate with an external device like a microcontroller boa ...

  2. 【C#】分享基于Win32 API的服务操作类(解决ManagedInstallerClass.InstallHelper不能带参数安装的问题)

    注:这里的服务是指Windows 服务. ------------------201508250915更新------------------ 刚刚得知TransactedInstaller类是支持带 ...

  3. 通过 WIN32 API 实现嵌入程序窗体

    写了一个不使用 COM, 而是通过 WIN32 API 实现的示例, 它把写字板程序嵌在了自己的一个面板中. 这么做可能没有实际意义, 因为两个程序之前没有进行有价值的交互, 这里仅仅是为了演示这么做 ...

  4. Detours简介 (拦截x86机器上的任意的win32 API函数)

    Detours 当然是用detours,微软明显高腾讯一筹,同上,至今没失败过.写这种HOOK一定要再写个测试程序,不要直接HOOK你的目的程序,例如QQ,因为这样不方面更灵活的测试.说明一下:Det ...

  5. C#通过WIN32 API实现嵌入程序窗体

    本文实例讲述了C#通过WIN32 API实现嵌入程序窗体的方法,分享给大家供大家参考.具体如下: 这是一个不使用COM,而是通过WIN32 API实现的示例, 它把写字板程序嵌在了自己的一个面板中. ...

  6. Win32 API编程——前言

    一丶什么是Win32 API? 微软为了保护操作系统的安全性和稳定性,把系统分为内核层和用户层(内核层的代码只能在当CPU的特权级为R0状态下执行,用户层的代码在CPU特权级为R0和R3都能执行),w ...

  7. 初次认识 C# win32 api

    第一次接触win32api,刚开始的时候有点迷迷糊糊的. Windows API 就是windows应用程序接口. win api向上就是windows应用程序,向下就是windows操作系统核心. ...

  8. 从.NET平台调用Win32 API

    MSDN文章<Microsoft Win32 to Microsoft .NET Framework API Map> 介绍了.net 类库对win32的封装 从.NET平台调用Win32 ...

  9. 【温故Delphi】GAEA用到Win32 API目录

    Delphi是Windows平台下著名的快速应用程序开发工具,它在VCL中封装并使用了大量的Win32 API. GAEA基于VCL开发的工具类产品,在程序中使用了大量的Win32 API,将经常用到 ...

随机推荐

  1. 【codeforces 335E】 Counting Skyscrapers

    http://codeforces.com/problemset/problem/335/E (题目链接) 题意 懒得写了= = Solution 这题咋不上天= =. 参考题解:http://blo ...

  2. A1084. Broken Keyboard

    On a broken keyboard, some of the keys are worn out. So when you type some sentences, the characters ...

  3. C++11并发——多线程lock_gurad ,unique_lock (三)

    http://www.cnblogs.com/haippy/p/3346477.html struct defer_lock_t {}; 该类型的常量对象 defer_lock(defer_lock ...

  4. 使用博客系统发生_STORAGE_WRITE_ERROR_错误

    因为本人有自己的vps正好又最近学习了网络的搭建,但是呢不是一番风顺的在假设好PHP.http和MySQL后吧一个博客系统放进去后出现了以下问题 好吧== 出来了这个问题到是让我看了半天,然后查了查说 ...

  5. Eclipse启动时出现错误 An internal error occurred during: "Updating indexes"

    在Eclipse的workspace下有个.metadata文件夹,Eclipse出现异常的log文件就在这个目录下. 最近出现了这样的错误: 查看日志文件发现:     !ENTRY org.ecl ...

  6. Hadoop生态圈-大数据生态体系快速入门篇

    Hadoop生态圈-大数据生态体系快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.大数据概念 1>.什么是大数据 大数据(big data):是指无法在一定时间 ...

  7. 整理备忘一波liunx命令(持续更新)

    # 分区挂载 查看当前目录下的文件大小 du --max-depth= -h # 文件操作 # 编辑操作 #liunx 字体设置 苹果方字体下载安装 # 网洛端口 netstat命令各个参数说明如下: ...

  8. cdqz2017-test11-奇诺之旅(拟阵)

    解为基环树森林 证明其具有拟阵的性质: 1.空集独立 2.基环树森林的子集仍然是基环树森林,满足遗传特性 3.对于基环树森林A,B,若|A|<|B| (边数),一定可以找到一条边e∈B,∉A,使 ...

  9. springboot系列之-logging

    配置文件以application.yml为例说明: Spring Boot默认的日志组件为Logback. 一. 日志配置参数: logging: file: # 日志文件,绝对路径或相对路径 pat ...

  10. ECSHOP /mobile/admin/edit_languages.php

    漏洞名称:ecshop代码注入漏洞 补丁编号:10017531 补丁文件:/mobile/admin/edit_languages.php 补丁来源:云盾自研 更新时间:2017-01-05 08:4 ...