日期:2014-05-18 浏览次数:20847 次
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; using Microsoft.Win32; namespace 活动窗体震动 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } internal struct RECT //Win32汇编数据结构不用自己定义 { public int left; public int top; public int right; public int bottom; } [DllImport("user32.dll", ExactSpelling = true, SetLastError = true)] internal static extern IntPtr GetForegroundWindow(); [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall, ExactSpelling = true, SetLastError = true)] internal static extern RECT GetWindowRect(IntPtr hwnd); [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall, ExactSpelling = true, SetLastError = true)] internal static extern void MoveWindow(IntPtr hwnd,int X,int Y,int nWidth,int nHeight,bool bRepaint); IntPtr id; private void timer1_Tick(object sender, EventArgs e) { id = GetForegroundWindow(); Random myRandom = new Random(); RECT Rect = GetWindowRect(id); MoveWindow(id, myRandom.Next(1024), myRandom.Next(768), Rect.right-Rect.left, Rect.bottom-Rect.top, true); } } }
[DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)] internal static extern bool GetWindowRect(IntPtr hWnd, ref RECT rect);
------解决方案--------------------
个人觉得你的程序稍带有一定的“有害”性,如果不小心,我们的机子会被你的代码搞的乱了套!