C#中怎样获取或设置其它软件窗体句柄? 关于C#中怎样获取或设置其它软件窗体句柄?的问题一直闲扰着我,本人上百度查过无数次,可就是没有看到这方面的介绍!请问?哪位朋友能帮个忙解决一下吗??谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 获取可以用EnumWindow api窗口句柄是由系统分配的,用户是无法设置的 using System; using System.Runtime.InteropServices; namespace tstfindwindow { /// <summary> /// Class1 的摘要说明。 /// </summary> class Class1 { [DllImport( "User32.dll ")] public static extern System.IntPtr FindWindowEx( System.IntPtr parent , System.IntPtr childe , string strclass ,string strname ); /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main(string[] args) { // // TODO: 在此处添加代码以启动应用程序 // IntPtr p=FindWindowEx(System.IntPtr.Zero,System.IntPtr.Zero,null,"窗口标题"); } } 1.可以根据窗体的标题得到相应窗体的句柄,调用API:FindWindow,FindWindowEx.2.对于那那些无法根据窗体标题得到窗体的句柄,可以根据软件的进程名来得到进程ID,然后根据进程ID来枚举所有窗体,得到窗体句柄. Process[] allProcesses = Process.GetProcesses(); foreach(Process myProcess in allProcesses) { if(myProcess.ProcessName=="进程名") { //在这里调用API:EnumWindows } } 1.可以根据窗体的标题得到相应窗体的句柄,调用API:FindWindow,FindWindowEx. 2.对于那那些无法根据窗体标题得到窗体的句柄,可以根据软件的进程名来得到进程ID,然后根据进程ID来枚举所有窗体,得到窗体句柄. madogao 是1dk385 是2 数据库查询主码存在与否 C#前台Phprpc,Java语言做后台,上传文件的限制 请教一类继承的问题 打印的时候如果要在自己的panel里面预览,怎么设置panel大小跟纸张一样大小? 命令行输出彩色文字 如何让DataGridView的垂直滚动条滚动到控件的最底端 label按件的text属性=&b 按alt+b时,执行哪一个事件啊? 怎么读写注册表的??? 执行当前 Web 请求期间生成了未处理的异常。 C#WinForm中怎么获取动态添加的panel句柄? 如何实现橡皮擦功能? 如何定义一个与.NET设置数据库连接字符串一样效果的属性?
EnumWindow api
窗口句柄是由系统分配的,用户是无法设置的
using System.Runtime.InteropServices;
namespace tstfindwindow
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
[DllImport( "User32.dll ")]
public static extern System.IntPtr FindWindowEx( System.IntPtr parent , System.IntPtr childe , string strclass ,string strname );
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
IntPtr p=FindWindowEx(System.IntPtr.Zero,System.IntPtr.Zero,null,"窗口标题");
}
}
2.对于那那些无法根据窗体标题得到窗体的句柄,可以根据软件的进程名来得到进程ID,然后根据进程ID来枚举所有窗体,得到窗体句柄. Process[] allProcesses = Process.GetProcesses();
foreach(Process myProcess in allProcesses)
{
if(myProcess.ProcessName=="进程名")
{
//在这里调用API:EnumWindows
}
}
2.对于那那些无法根据窗体标题得到窗体的句柄,可以根据软件的进程名来得到进程ID,然后根据进程ID来枚举所有窗体,得到窗体句柄.
madogao 是1
dk385 是2