C# api調用,上視窗在最上面,類比鍵盤

來源:互聯網
上載者:User

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);

        }
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.