这个窗口是软件的主窗口,会显示在任务栏中
public partial class Main : Form
{
private const int WM_HOTKEY = 0x312; //窗口消息-热键
private const int WM_CREATE = 0x1; //窗口消息-创建
private const int WM_DESTROY = 0x2; //窗口消息-销毁
private const int HOT_KEY1 = 0x3572; //热键1ID
private const int HOT_KEY2 = 0x3574; //热键2ID
private TempScreen screen;
public Main()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
icon.Visible = true;
Visible = false;
ShowInTaskbar = true;
}
//注册快捷键
protected override void WndProc(ref Message m)
{
base.WndProc(ref m);
switch (m.Msg)
{
case WM_HOTKEY: //热键
switch (m.WParam.ToInt32())
{
case HOT_KEY1:
//MessageBox.Show("按下了Ctrl+O");
Open_Click(new object(), new EventArgs());
break;
case HOT_KEY2:
//MessageBox.Show("按下了Ctrl+1");
Shot_Click(new object(), new EventArgs());
break;
}
break;
case WM_CREATE://创建窗口
AppHotKey.RegKey(Handle, HOT_KEY1, KeyModifiers.Ctrl, Keys.O);
AppHotKey.RegKey(Handle, HOT_KEY2, KeyModifiers.Ctrl, Keys.D1);
break;
case WM_DESTROY:
AppHotKey.UnRegKey(Handle, HOT_KEY1);
AppHotKey.UnRegKey(Handle, HOT_KEY2);
break;
}
}
//鼠标点击或者快捷键出发截图的方法
private void Shot_Click(object sender, EventArgs e)
{
if (screen == null)
{
screen = new TempScreen();
}
screen.Show(); //打开第二个窗口
}
private void Open_Click(object sender, EventArgs e)
{
FileDialogUtil.Open();
}
//退出程序
private void Quit_Click(object sender, EventArgs e)
{
icon.Visible = false;
Close();
Dispose();
Application.Exit();
}
//任务栏显示菜单
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
menu.Show();
}
}