获得.net控件的windows句柄的方法

代码如下:

class WinAPI
{
  [DllImport("coredll.dll")]
  private static extern IntPtr SetCapture(IntPtr hWnd);

  [DllImport("coredll.dll")]
  private static extern IntPtr GetCapture();

  public static IntPtr GetHWnd(Control ctrl)
  {
    IntPtr hOldWnd = GetCapture();

    ctrl.Capture = true;

    IntPtr hWnd = GetCapture();

    ctrl.Capture = false;

    SetCapture(hOldWnd);

    return hWnd;
  }
}

(0)

相关推荐

  • .NET Core Windows环境安装配置教程

    1.安装.NET Core SDK 在windows下开发.NET Core最好使用Visual Studio工具.下载地址与安装: VS2015最新版本:Visual Studio 2015 Update 3* VS环境下的.Net Core:.NET Core 1.0 for Visual Studio 对应下载的文件DotNetCore.1.0.0-VS2015Tools.Preview2.exe .Net Core安装过程(安装过程比较慢,亲们耐心等待): (安装慢,等待中--.) (O

  • Windows虚拟主机与VPS如何实现301重定向(asp.net)

    301重定向这么重要,那么如何实现301重定向呢?卢松松在他的<详解301永久重定向实现方法>一文中介绍了多种实现301重定向的方法,但里面的方法对于使用Windows虚拟主机或是Windows VPS的朋友来说,除了单个页面设置重定向可以用上,IIS 服务器实现整站301重定向的方法却无法应用.因为很多的虚拟主机和VPS的提供商不支持用户去做301重定向.本人遇到了这个问题,非常困扰.搜索了很多的资料,或是在论坛.知名SEO博客询问,得到的建议是:虚拟主机通常没办法做301重定向,建议使用独

  • PowerShell中查看当前版本、Windows版本、.NET版本信息的代码

    PowerShell查看当前版本.Windows版本..NET版本信息 有很多cmdlet或者cmdlet的参数,在PowerShell不同的版本中,支持得不一样.所以,弄清楚当前PowerShell的版本信息是非常重要的一件事情.那么怎么查看当前PowerShell的版本信息呢?洪哥向大家介绍两个方法: 其实就是两个PowerShell的环境变量,一个是$psversiontable,另一个是$host. 有很多cmdlet或者cmdlet的参数,在PowerShell不同的版本中,支持得不一

  • c#.NET中日志信息写入Windows日志中解决方案

    1. 目的   应用系统的开发和维护离不开日志系统,选择一个功能强大的日志系统解决方案是应用系统开发过程中很重要的一部分.在.net环境下的日志系统解决方案有许多种,log4net是其中的佼佼者.  在Windows2000及以上操作系统中,有一个Windows日志系统,它包括应用程序(Application)事件日志.系统(System)日志和安全(Security)日志,事件日志也可以是自定义日志.在.net Framework中也提供了相应的类和接口来使用应用程序事件日志或者自定义事件日志

  • Windows 2003 IIS 6.0 搭建可建虚拟机的asp+.net+php+jsp+mysql+mssql

    1.预安装好windows 2003 打好sp2以上补丁  安装好IIS6.0  并选择asp和.net支持.IIS默认支持asp.net 1.1 asp.net 2.0可以在网上下载安装.2.安装php.mysql及mssql.网上很多正确介绍.这里就不讲了.重点讲jsp的环境搭配.3.1.安装JAVA 2 SDK 我装在D:\JDK目录下.接下来设置环境变量,这一步很重要,别忘了:JAVA_HOME = D:\JDKCLASSPATH = D:\JDK\LIB\tools.jar;D:\JD

  • 用.NET创建Windows服务的方法第1/2页

    译者说明:我是通过翻译来学习C#的,文中涉及到的有Visual Studio.NET有关操作,我都根据中文版的VS.NET显示信息来处理的,可以让大家不致有误解. 作者:Mark Strawmyer 我们将研究如何创建一个作为Windows服务的应用程序.内容包含什么是Windows服务,如何创建.安装和调试它们.会用到System.ServiceProcess.ServiceBase命名空间的类. 什么是Windows服务? Windows服务应用程序是一种需要长期运行的应用程序,它对于服务器

  • asp.net core实现文件上传功能

    本文实例为大家分享了单文件上传.多文件上传的功能,供大家参考,具体内容如下 单文件上传  上传文件在Web应用程序中是一个常见的功能.在asp.net core中上传文件并保存在服务器上,是很容易的.下面就来演示一下怎么样在 ASP.NET Core项目中进行文件上传.  首先,创建一个 asp.net core 项目,然后在Controller文件件添加一个HomeController,然后在 Views 文件夹的 Home 文件夹里添加一个 New.cshtml 视图文件.如下图: 添加一个

  • ASP.NET Core配置教程之读取配置信息

    提到"配置"二字,我想绝大部分.NET开发人员脑海中会立马浮现出两个特殊文件的身影,那就是我们再熟悉不过的app.config和web.config,多年以来我们已经习惯了将结构化的配置信息定义在这两个文件之中.到了.NET Core的时候,很多我们习以为常的东西都发生了改变,其中也包括定义配置的方式.总的来说,新的配置系统显得更加轻量级,并且具有更好的扩展性,其最大的特点就是支持多样化的数据源.我们可以采用内存的变量作为配置的数据源,也可以直接配置定义在持久化的文件甚至数据库中. 由

  • ASP.NET 5已终结,迎来ASP.NET Core 1.0和.NET Core 1.0

    ASP.NET 在过去的 15 年里是个非常不错的"品牌". ASP.NET 4.6 已经支持在生产环境使用:http://get.asp.net. 但是,命名是新的,完全截取自 ASP.NET 框架 -- "ASP.NET 5",但这并不是个好主意,其中一个原因是:5 > 4.6,这样看起来 ASP.NET 5 比 ASP.NET 4.6 版本号更大,更好,甚至是可以替代 ASP.NET 4.6. 所以修改了名字,选择了一个更好的版本号. 重新引入 ASP.

  • Win2008 R2安装.NET Framework 4的windows6.1-KB958488-V6001-x64出现灾难性故障解决方法

    Windows 2008 R2安装.NET Framework 4时提示原因是:灾难性故障 原因:WINDOWS 2008的安全设置方案取消了C盘根目录的Users权限,只给administrator和system权限,结果在打补丁时就无法更新(安装.net4需要安装windows6.1-KB958488-V6001-x64补丁包) 解决方法:只需添加C盘根目录的Users读取和运行权限,即可顺利安装补丁.出于安全考虑,在补丁更新后可以取消该权限.然后再安装即可. 当Windows Update

随机推荐