設定winform表單上預設的按鈕為Enter或Esc鍵,只需設定表單的acceptbutton和cancelbutton兩個屬性。如果是asp.net頁面只需設定form表單的defaultbutton屬性。
在C# windows Form程式中添加托盤可以使用NotifyIcon控制項,使程式不顯示在工具列上可以設定ShowInTaskbar 屬性。
點擊關閉按鈕最小化表單:
代碼
protected override void WndProc(ref Message m)
{
const int WM_SYSCOMMAND = 0x0112;
const int SC_CLOSE = 0xF060;
if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
{//捕捉關閉表單訊息
// User clicked close button
this.WindowState = FormWindowState.Minimized;
return;
}
base.WndProc(ref m);
}
定義快速鍵退出:
代碼
protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData)
{
int WM_KEYDOWN = 256;
int WM_SYSKEYDOWN = 260;
//if (keyData==Keys.F4)
//{
// this.Close();
//}
if (msg.Msg == WM_KEYDOWN | msg.Msg == WM_SYSKEYDOWN)
{
switch (keyData)
{
case Keys.Escape:
this.Close();//Esc退出
break;
}
}
return false;
}
開機自動運行:
代碼
private void AutoRun()
{
RegistryKey R_local = Registry.LocalMachine;
RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
//索引值不存在
if (R_run.GetValue("123") == null)
{
string R_startPath = Application.ExecutablePath;
R_run.SetValue("123", R_startPath);
}
//存在
else
{
try
{
R_run.DeleteValue("123", false);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
R_run.Close();
R_local.Close();
}
//取得裝置硬碟的卷標號
public string GetDiskVolumeSerialNumber()
{
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObject disk = new ManagementObject("win32_logicaldisk.deviceid=\"d:\"");
disk.Get();
return disk.GetPropertyValue("VolumeSerialNumber").ToString();
}
//獲得CPU的序號
public string getCpu()
{
string strCpu = null;
ManagementClass myCpu = new ManagementClass("win32_Processor");
ManagementObjectCollection myCpuConnection = myCpu.GetInstances();
foreach (ManagementObject myObject in myCpuConnection)
{
strCpu = myObject.Properties["Processorid"].Value.ToString();
break;
}
return strCpu;
}