惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
T
Tailwind CSS Blog
V
V2EX
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
腾讯CDC
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Last Week in AI
Last Week in AI
A
About on SuperTechFans
L
LangChain Blog
Engineering at Meta
Engineering at Meta
F
Fortinet All Blogs
G
Google Developers Blog
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
D
Docker
博客园 - 聂微东
博客园 - 司徒正美
Recent Announcements
Recent Announcements
MyScale Blog
MyScale Blog
U
Unit 42

博客园 - 点点滴滴

C#操作IIS的代码 恢复误删数据(SQL Server 2000)--Log Explorer 如何让ClickOnce进行手动更新(含代码) - 点点滴滴 - 博客园 BackgroundWorker 组件 获取VS.NET 自带的数据库连接对话框的数据库连接 搜索一个局域网中所有的SQL Server服务器 Application.DoEvent() 在C#使用XML注释 用IDisposable接口释放.NET资源 正确的重载operator 很好的debug有理由不用吗 抽象 虚方法 接口 的区别 ASP.NET AJAX 路线图 ASP.NET AJAX 概述 安装ASP.NET AJAX Visitor Template Method Strategy State
C#调用API访问其它进程
点点滴滴 · 2006-12-16 · via 博客园 - 点点滴滴

         近段时间由于工作的需要访问其它进程的相关数据,现将其中的一些代码写下来,以备参考.
    代码如下(系统自动生成的没有列出来): 

 1using System;
 2using System.Collections.Generic;
 3using System.ComponentModel;
 4using System.Data;
 5using System.Drawing;
 6using System.Text;
 7using System.Windows.Forms;
 8using System.Runtime.InteropServices;
 9
10namespace WindowsApplication1
11{
12    public partial class Form1 : Form
13    {
14        [DllImport("User32.dll", EntryPoint = "FindWindow")]
15        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
16
17        [DllImport("user32.dll", EntryPoint = "FindWindowEx")]
18        private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
19
20        [DllImport("User32.dll", EntryPoint = "SendMessage")]
21        private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);
22
23        public Form1()
24        {
25            InitializeComponent();
26        }

27
28        private void button1_Click(object sender, EventArgs e)
29        {
30            const int WM_GETTEXT = 0x000D;
31
32            string lpszParentClass = "Form";
33            string lpszParentWindow = "Form1";
34            string lpszClass = "Button";
35
36            string getTxt = "";
37            IntPtr ParenthWnd = new IntPtr(0);
38            IntPtr EdithWnd = new IntPtr(0);
39
40            ParenthWnd = FindWindow(lpszParentClass, lpszParentWindow);
41            if (!ParenthWnd.Equals(IntPtr.Zero))
42            {
43                EdithWnd = FindWindowEx(ParenthWnd, EdithWnd, lpszClass, "");
44                if (!EdithWnd.Equals(IntPtr.Zero))
45                {
46                    SendMessage(EdithWnd, WM_GETTEXT, (IntPtr)0, getTxt);
47                    if (getTxt.Length != 0)
48                    {
49                        MessageBox.Show(getTxt);
50                    }

51                }

52
53            }

54        }

55    }

56}