• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

C# api调用,上窗口在最上面,模拟键盘

C# api调用,上窗口在最上面,模拟键盘

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices; //闫磊

namespace Api
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //闫磊加入
        [DllImport("user32.dll")]
        private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
        [DllImport("user32.dll")]
        private static extern bool SetForegroundWindow(IntPtr hWnd);
        [DllImport("user32.dll")]
        private static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        [DllImport("user32.dll")]
        private static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
        [DllImport("user32.dll")]
        private static extern bool SetCursorPos(int X, int Y);
        [DllImport("user32.dll")]
        private static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int dwExtraInfo);
        [DllImport("user32.dll")]
        private static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
        [DllImport("user32.dll")]
        private static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndlnsertAfter, int X, int Y, int cx, int cy, uint Flags);
        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);

        [System.Runtime.InteropServices.DllImport("user32", EntryPoint = "SetForegroundWindow")]
        public static extern bool SetFocus(IntPtr hWnd);//设置此窗体为活动窗体

        private void button1_Click(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {


            IntPtr myIntPtr = FindWindow(null, "gisoracle的专栏 - CSDN博客 - Windows Internet Explorer");
            //ShowWindow(myIntPtr, SW_RESTORE); //将窗口还原
            SetWindowPos(myIntPtr, (IntPtr)(-1), 100, 200, 0, 0, 0x0040 | 0x0001); //放在最前面
            SendKeys.Send("{F5}");

            //SetParent(myIntPtr, this.Handle);
            // SetFocus(myIntPtr);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            IntPtr myIntPtr = FindWindow(null, "gisoracle的专栏 - CSDN博客 - Windows Internet Explorer");
            //ShowWindow(myIntPtr, SW_RESTORE); //将窗口还原
            SetWindowPos(myIntPtr, (IntPtr)(-1), 100, 200, 0, 0, 0x0040 | 0x0001); //放在最前面
            SendKeys.Send("{F5}");

            //SetParent(myIntPtr, this.Handle);
            // SetFocus(myIntPtr);

        }
    }
}

posted on 2011-04-16 10:05  gisai  阅读(660)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3