C#调用windows api获得当前活动的窗体的标题?

问题描述

我想用鼠标点击任何窗体,都能获得当前窗体上的标题!

解决方案

解决方案二:
1、是SetCapture,以便鼠标在窗口外的点击也能发送到本窗口,2、是用WindowFromPoint找到目标窗口,3、也就是GetWindowText了。简单例子如下:publicpartialclassForm1:Form{publicForm1(){InitializeComponent();this.button1.Text="StartCapture";}privatevoidbutton1_Click(objectsender,EventArgse){this.button1.Text="Capturing...";this.Text="Nowclickonthetargetwindow";this.Capture=true;}protectedoverridevoidOnMouseDown(MouseEventArgse){base.OnMouseDown(e);this.button1.Text="StartCapture";if(this.Capture){IntPtrtarget=WindowFromPoint(this.PointToScreen(e.Location));if(target!=IntPtr.Zero){StringBuildersb=newStringBuilder(256);GetWindowTextW(target,sb,256);this.Text=sb.ToString();}}}[DllImport("User32")]staticexternIntPtrWindowFromPoint(Pointpoint);[DllImport("User32",CharSet=CharSet.Unicode)]staticexternintGetWindowTextW(IntPtrhWnd,StringBuildersb,intmaxCount);}

时间: 2024-09-17 04:50:14

C#调用windows api获得当前活动的窗体的标题?的相关文章

C#调用windows api的要点

window     在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助.另外如果安装了Visual Studio .net的话,在C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Technologies\Interop\P

用Visual C#调用Windows API函数(转)

visual|window|函数 用Visual C#调用Windows API函数 北京机械工业学院研00级(100085)冉林仓       Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力.Visual C#和其它开发工具一样也能够调用动态链接库的API函数..NET框架本身提供了这样一种

C#中调用Windows API的要点

window 在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希望给未在C#中使用过API的朋友一点帮助.另外如果安装了Visual Studio .net的话,在C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples\Technologies\Interop\Platf

在python中用ctypes模块调用Windows API的问题

问题描述 在python中用ctypes模块调用Windows API的问题 用python做一个windows平台的工具,纯python缺乏接口,因此想用ctypes模块调用Windows API来实现,碰到了下列问题: 用python封装Windows 中的SystemTimeToFileTime,调用过程中提示参数不对. Windows API 原型 BOOL WINAPI SystemTimeToFileTime( __in const SYSTEMTIME* lpSystemTime,

python调用windows api锁定计算机示例_python

调用Windows API锁定计算机 本来想用Python32直接调用,可是没有发现Python32有Windows API LockWorkStation(); 因此,就直接调用Windows DLL了 复制代码 代码如下: #!/usr/bin/env python#-*- coding:cp936 -*- "调用WindowAPI锁定计算机" import ctypes; dll = ctypes.WinDLL('user32.dll'); dll.LockWorkStation

VBS调用Windows API函数的代码_vbs

那天无意中搜索到一篇<WinCC VBS利用EXCEL调用Windows API函数>的文章,不知道WinCC是什么,Google了一下好像跟西门子自动化有关.WinCC是什么并不重要,重要的是这篇文章提供了VBS调用Windows API的一种思路--EXCEL VBA,一种传说比VB还要VB的语言. 但是那篇文章中的例子都是使用已经写好的EXCEL VBA程序,即首先得存在一个EXCEL文件.我就想,能不能在VBS中通过excel.application对象创建一个包含VBA代码的EXCE

用Visual C#调用Windows API函数

visual|window|函数 Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力.Visual C#和其它开发工具一样也能够调用动态链接库的API函数..NET框架本身提供了这样一种服务,允许受管辖的代码调用动态链接库中实现的非受管辖函数,包括操作系统提供的Windows API函数.它能够定

用c#开发wince调用windows api函数的问题?

问题描述 WINCE平台下可以调用WINDOWSAPI函数吗?usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Runtime.InteropServices;namespaceWindowsApplication_haha

C#中调用Windows API时的数据类型对应关系

BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16 CHAR=System.Int16 COLORREF=System.UInt32 DWORD=System.UInt32 DWORD32=System.UInt32 DWORD64=System.UInt64 FLOAT=System.Float HACCEL=System.IntPtr HANDLE=System.IntPtr HBITMAP=System.IntPtr HBRU