zoukankan      html  css  js  c++  java
  • 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);

            }
        }
    }

  • 相关阅读:
    Vue中 el-table大数据量加载,不分页,节省内存的性能优化
    http请求中Content-Type以及qs.stringify的使用
    setTimeout用法(Event Loop简介、for循环中应用、vue中应用)
    Vue中关于图片路径配置的填坑日记
    WebSocket
    Vue中mockjs的使用
    Vue 作用域插槽slot slot-scope v-slot
    Windows Server 2003搭建邮件服务器
    Exchange 2010的部署
    Exchange 2010 详细安装步骤
  • 原文地址:https://www.cnblogs.com/gisoracle/p/2017768.html
Copyright © 2011-2022 走看看