不清楚熱鍵和快捷鍵是什么區(qū)別
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有潁泉免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1.如果你是指Chrl+S這樣的快捷鍵,可以設(shè)置ShortCutKeys屬性,屬性窗口就有可視化編輯器。
2.如果你是指"保存(S)",其中s有下劃線這樣的用Alt+字母來(lái)訪問(wèn)的設(shè)置,應(yīng)該在菜單項(xiàng)的Text屬性中使用符號(hào)。符號(hào)后面的字母將被作為快速訪問(wèn)字符,顯示的時(shí)候不會(huì)被顯示出來(lái),而字母會(huì)自動(dòng)加上下劃線。比如"保存(s)"。
3.和選中標(biāo)記有關(guān)的屬性有兩個(gè)
CheckOnClick 在菜單項(xiàng)上單擊時(shí)是否改變Checked屬性
Checked 設(shè)置/獲取 菜單項(xiàng)是否被選中
4.設(shè)置菜單項(xiàng)的Enabled屬性為False
新建一個(gè)Form1把Form1的KeyPreview改成True
拖入一個(gè)Button1到Form1上面
然后加入以下代碼
Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyData = (Keys.Alt Or Keys.G) Then
Button1.PerformClick() '或者用Button1_Click(Nothing, New EventArgs)
'快捷鍵Alt+G觸發(fā)Button1_Click()事件。
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Button1.Size = New Size(180, 23)
Button1.Text = "我被局部快捷鍵給召喚了~"
End Sub
使用VB.net編寫屏蔽熱鍵的方法有很多中,比如說(shuō)使用系統(tǒng)的API函數(shù),也可以使用鉤子來(lái)進(jìn)行屏蔽.還有一種就是.net帶的一種方法,首先來(lái)判斷所按下去的鍵,然后再執(zhí)行操作等事件.比如說(shuō):if (e.keycode==keys.D){e.handle=true}在keydown事件里面處理!這樣就可以屏蔽了D鍵. 實(shí)例:if ((Control.ModifierKeys == Keys.Alt) (e.KeyCode == Keys.F4))
{
e.Handled = true;
}還有一種辦法就是不通過(guò)屏蔽熱鍵來(lái)實(shí)現(xiàn),就是通過(guò)設(shè)置焦點(diǎn).你可以把你程序窗口設(shè)置為主焦點(diǎn),這樣其他程序一般就無(wú)法在你的程序前面了.實(shí)現(xiàn)屏蔽的作用.至于任務(wù)管理器的話可以通過(guò)殺掉進(jìn)程的辦法做到.如下: Process[] p = Process.GetProcesses(); foreach (Process p1 in p)
{
try
{
if (p1.ProcessName.ToLower().Trim() == "taskmgr")//這里判斷是任務(wù)管理器
{
p1.Kill();
return;
}
}
catch
{
return;
}
}}以上是使用C#編寫的,稍微改下就可以了,在,NET里面都差不多!
VB.NET即時(shí)窗口用于在設(shè)計(jì)時(shí)調(diào)試和計(jì)算表達(dá)式、執(zhí)行語(yǔ)句、輸出變量值等
快捷鍵是:CTRL+G 或者按 CTRL+ALT+I
見下面的代碼
Public?Class?Form1
Public?Declare?Auto?Function?RegisterHotKey?Lib?"user32.dll"?Alias?"RegisterHotKey"?(ByVal?hwnd?As?IntPtr,?ByVal?id?As?Integer,?ByVal?fsModifiers?As?Integer,?ByVal?vk?As?Integer)?As?Boolean
Public?Declare?Auto?Function?UnRegisterHotKey?Lib?"user32.dll"?Alias?"UnregisterHotKey"?(ByVal?hwnd?As?IntPtr,?ByVal?id?As?Integer)?As?Boolean
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
'注冊(cè)全局熱鍵?
RegisterHotKey(Handle,?0,?0,?Keys.F4)
'第3個(gè)參數(shù)意義:?0=nothing?1?-alt?2-ctrl?3-ctrl+alt?4-shift?5-alt+shift?6-ctrl+shift?7-ctrl+shift+alt
End?Sub
Private?Sub?Form1_Closed(ByVal?sender?As?Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Closed
UnRegisterHotKey(Handle,?0)
End?Sub
Protected?Overrides?Sub?WndProc(ByRef?m?As?Message)
If?m.Msg?=?786?Then
Me.Activate()
End?If
MyBase.WndProc(m)
End?Sub
End?Class