You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
3.2 KiB
C#
88 lines
3.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
|
|
namespace JwKdsV.Core
|
|
{
|
|
public class WindowsAPI
|
|
{
|
|
//窗口拖动
|
|
public const int WM_NCLBUTTONDOWN = 0xA1;
|
|
public const int HT_CAPTION = 0x2;
|
|
|
|
[DllImport("user32.dll")]
|
|
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
|
|
[DllImport("user32.dll")]
|
|
public static extern bool ReleaseCapture();
|
|
|
|
public static void MoveWindows(IntPtr handle)
|
|
{
|
|
ReleaseCapture();
|
|
SendMessage(handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
|
|
}
|
|
|
|
//键盘
|
|
public const uint KEYEVENTF_EXTENDEDKEY = 0x1;
|
|
public const uint KEYEVENTF_KEYUP = 0x2;
|
|
[System.Runtime.InteropServices.DllImport("user32.dll")]
|
|
static extern short GetKeyState(int nVirtKey);
|
|
[System.Runtime.InteropServices.DllImport("user32.dll")]
|
|
static extern void keybd_event(byte bVk , byte bScan , uint dwFlags , uint dwExtraInfo);
|
|
|
|
|
|
public enum VirtualKeys : byte
|
|
{
|
|
VK_NUMLOCK = 0x90, //数字锁定键
|
|
VK_SCROLL = 0x91, //滚动锁定
|
|
VK_CAPITAL = 0x14, //大小写锁定
|
|
VK_A = 62
|
|
}
|
|
|
|
public static bool GetState(VirtualKeys Key)
|
|
{
|
|
return (GetKeyState((int)Key) == 1);
|
|
}
|
|
public static void SetState(VirtualKeys Key , bool State)
|
|
{
|
|
if (State != GetState(Key))
|
|
{
|
|
keybd_event((byte)Key , 0x45 , KEYEVENTF_EXTENDEDKEY | 0 , 0);
|
|
keybd_event((byte)Key , 0x45 , KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP , 0);
|
|
}
|
|
}
|
|
|
|
////开启键盘大写
|
|
//SetState(VirtualKeys.VK_CAPITAL, true);
|
|
////关闭键盘大写
|
|
//SetState(VirtualKeys.VK_CAPITAL, false);
|
|
////开启键盘滚动锁定
|
|
//SetState(VirtualKeys.VK_SCROLL, true);
|
|
////关闭键盘滚动锁定
|
|
//SetState(VirtualKeys.VK_SCROLL, false);
|
|
////开启键盘数字锁定键
|
|
//SetState(VirtualKeys.VK_NUMLOCK, true);
|
|
////关闭键盘数字锁定键
|
|
//SetState(VirtualKeys.VK_NUMLOCK, false);
|
|
|
|
public const int WM_SYSCOMMAND = 0x0112;
|
|
public const int SC_CLOSE = 0xF060;
|
|
[System.Runtime.InteropServices.DllImport("user32.dll" , CharSet = System.Runtime.InteropServices.CharSet.Auto , SetLastError = true)]
|
|
public static extern IntPtr FindWindow(String sClassName , String sAppName);
|
|
[System.Runtime.InteropServices.DllImport("user32.dll" , CharSet = System.Runtime.InteropServices.CharSet.Auto , SetLastError = true)]
|
|
public static extern int SendMessage(IntPtr hWnd , uint Msg , int wParam , int lParam);
|
|
|
|
|
|
[System.Runtime.InteropServices.DllImport("wininet.dll")]
|
|
public extern static bool InternetGetConnectedState(out int description , int reservedValue);
|
|
|
|
[DllImport("user32.dll" , CharSet = CharSet.Auto , ExactSpelling = true)]
|
|
public static extern int GetSystemMetrics(int nIndex);
|
|
public bool IsTouchAvailable()
|
|
{
|
|
return ((GetSystemMetrics(0x5e) & 0x40) > 0);
|
|
}
|
|
}
|
|
}
|