问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c# 中如何根据进程名获得指定的窗体在屏幕中Location

发布网友 发布时间:2024-09-30 02:58

我来回答

1个回答

热心网友 时间:2024-10-12 08:04

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Runtime.InteropServices;
using WINDOWINFO = WindowsFormsApplication1.tagWINDOWINFO;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImport("user32.dll", SetLastError = true)]
static extern bool GetWindowInfo(IntPtr hwnd, ref WINDOWINFO pwi);

private void button1_Click(object sender, EventArgs e)
{
Process [] ps = Process.GetProcessesByName("Config");
foreach (var p in ps)
{
IntPtr handle = p.MainWindowHandle;
WINDOWINFO info = new WINDOWINFO();
info.cbSize = (uint)Marshal.SizeOf(info);
GetWindowInfo(handle, ref info);
MessageBox.Show(info.rcWindow.top.ToString() + ":" +
info.rcWindow.left.ToString());
}

}
}

[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct tagWINDOWINFO
{
/// DWORD->unsigned int
public uint cbSize;

/// RECT->tagRECT
public tagRECT rcWindow;

/// RECT->tagRECT
public tagRECT rcClient;

/// DWORD->unsigned int
public uint dwStyle;

/// DWORD->unsigned int
public uint dwExStyle;

/// DWORD->unsigned int
public uint dwWindowStatus;

/// UINT->unsigned int
public uint cxWindowBorders;

/// UINT->unsigned int
public uint cyWindowBorders;

/// ATOM->WORD->unsigned short
public ushort atomWindowType;

/// WORD->unsigned short
public ushort wCreatorVersion;
}

[System.Runtime.InteropServices.StructLayoutAttribute(System.Runtime.InteropServices.LayoutKind.Sequential)]
public struct tagRECT
{

/// LONG->int
public int left;

/// LONG->int
public int top;

/// LONG->int
public int right;

/// LONG->int
public int bottom;
}
}

MessageBox显示的就是location ,我输出的可能X,Y反了,但都一样
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
QQ空间里的好多东西怎么删不掉阿 我想把QQ上的文件全删掉,为什么有的删不掉呢。 4M宽带为什么有1M的下载速度 有什么办法治疗牙结石?还有晚上牙龈出血?有什么食物可以补充营养?曾经... 红米Note2开机以后不显示桌面但是有图标下面三个键都不好使您知道怎么... 红米Note2,酷我音乐盒桌面歌词没有,已经设置了,悬浮窗什么的也点... 大神们, 帮忙把下面文字翻译成英文吧! 急~~~ 机器君就算了 多谢啊 O... DIN 54801-2006 是德国什么标准 我想问一下" high melt viscosity at low shear rates"是什么意思? 请问谁有《喜羊羊与灰太狼》中,灰太狼说的“我一定会回来的”,和懒羊... 儿童节发多少红包给女朋友 2023六一儿童节发多少红包合适 如何申请地皮 如何拿地皮 61发红包多少合适 排球常用的主攻战术 过六一儿童节红包金额多少合适呢? 排球运动中战术主要有那几种 排球运动中战术主要有哪些 性格内向的男生如何去谈恋爱 男生必知恋爱技巧攻略 聪明女人必知的男人心理学作者简介 仪表堂堂:精英人士必知的77条礼仪规范作者简介 广西百度贸易有限公司怎么样? 来宾维林阳光是毛坯房还是精装修? 想知道: 来宾市 来宾新城县 在哪 gtx760和gtx1050有啥区别? 屏幕画笔软件哪个好 屏幕标记软件——Pointofix ...1.3版的修改器(要可以解锁车的)注意是1.3版的,其他的不能用,有... 极品飞车9中文版v1.3.rar我解压了但玩的时候是英文的,怎么弄成汉化的啊... 我的极品飞车9是1.3简体中文版~我怎么能让他变成繁体中文版? c#,怎么把一个窗体吸附在另一个窗体的指定的地方啊!如下两图是效果图... C#调用另一个EXE,怎么让第二个程序在我们窗体的制定位置运行? C#子窗体显示在父窗体的固定位置上 微信号被别人举报了多久能恢复使用? 光电式污泥(悬浮物)浓度计产品名称 mlss污泥浓度计mlss污泥浓度计产品概述 悬浮物污泥浓度计技术规格 光电污泥浓度计概述 污泥浓度计(国产FLS-100型光电式)资料技术规格 污泥浓度计(国产FLS-100型光电式)资料概述 污泥浓度计(国产FLS-100型光电式)资料测量原理 悬浮物污泥浓度计测量原理 踢踏舞哪个国家 儿童节应该给孩子发红包还是发礼物呢? 求PC版的龙骑士的攻略 儿童节给女朋友发什么红包合适呢? 龙骑士传说攻略(龙骑士传说图文攻略)介绍_龙骑士传说攻略(龙骑士传说图 ... 飞吧龙骑士街机BOSS怎么打-街机高分攻略 龙骑士DS 这游戏怎么通啊 龙骑士的配置要求和攻略