Apiコード収集
11559 ワード
ネットから集めて、自分を便利にして、他人を便利にします
1 #region
2 protected override void WndProc(ref System.Windows.Forms.Message m)
3 {
4 ShowScrollBar(this.Handle, 3, false);//0:horizontal,1:vertical,3:both
5 base.WndProc(ref m);
6 }
7
8 [DllImport("user32.dll")]
9 [return: MarshalAs(UnmanagedType.Bool)]
10 private static extern bool ShowScrollBar(IntPtr hWnd, int wBar, bool bShow);
11 #endregion
1 #region
2 [DllImport("user32")]
3 public static extern bool GetCaretPos(out Point lpPoint);
4 [DllImport("user32.dll")]
5 private static extern IntPtr GetForegroundWindow();
6 [DllImport("user32.dll")]
7 private static extern IntPtr GetFocus();
8 [DllImport("user32.dll")]
9 private static extern IntPtr AttachThreadInput(IntPtr idAttach, IntPtr idAttachTo, int fAttach);
10 [DllImport("user32.dll")]
11 private static extern IntPtr GetWindowThreadProcessId(IntPtr hWnd, IntPtr ProcessId);
12 [DllImport("kernel32.dll")]
13 private static extern IntPtr GetCurrentThreadId();
14 [DllImport("user32.dll")]
15 private static extern void ClientToScreen(IntPtr hWnd, ref Point p);
16
17 private Point CaretPos()
18 {
19 IntPtr ptr = GetForegroundWindow();
20 Point p = new Point();
21
22 // Caret
23 if (ptr.ToInt32() != 0)
24 {
25 IntPtr targetThreadID = GetWindowThreadProcessId(ptr, IntPtr.Zero);
26 IntPtr localThreadID = GetCurrentThreadId();
27
28 if (localThreadID != targetThreadID)
29 {
30 AttachThreadInput(localThreadID, targetThreadID, 1);
31 ptr = GetFocus();
32 if (ptr.ToInt32() != 0)
33 {
34 GetCaretPos(out p);
35 ClientToScreen(ptr, ref p);
36 }
37 AttachThreadInput(localThreadID, targetThreadID, 0);
38 }
39 }
40 return p;
41 }
42 #endregion
1 // notifyIcon ShowBalloonTip
2 [DllImport("user32.dll",EntryPoint = "GetForegroundWindow", CharSet = CharSet.Auto, ExactSpelling = true)]
3 public static extern IntPtr GetForegroundWindow(); //
4 [DllImport("user32.dll", EntryPoint = "SetForegroundWindow")]
5 public static extern bool SetForegroundWindow(IntPtr hWnd);//
6
7 if (this.Handle != GetForegroundWindow())
8 {
9 SetForegroundWindow(this.Handle);
10 notifyIcon1.ShowBalloonTip(1500," ","XXXXXXX!",ToolTipIcon.Warning);
11 }