vb.net獲取按鍵 vb命令按鈕訪問鍵

VB.net的快捷鍵

1. F12:轉(zhuǎn)到定義;Shift+F12:轉(zhuǎn)到引用

成都創(chuàng)新互聯(lián)是專業(yè)的四川網(wǎng)站建設(shè)公司,四川接單;提供成都網(wǎng)站建設(shè)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行四川網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

2. F5:啟動(dòng);Ctrl+F5:開始執(zhí)行(不調(diào)試);Shift+F5:停止調(diào)試

3. F7:查看代碼;Shift+F7:查看視圖設(shè)計(jì)器

4. Ctrl+Alt+L:解決方案資源管理器

5. Ctrl+Alt+J:對象瀏覽器

6. F4:顯示屬性窗口

7. Ctrl+Alt+X:工具箱

8. Ctrl+Alt+C類視圖

9. Alt+Enter:查看屬性

10.F10:逐過程調(diào)試

11.F11:逐語句調(diào)試

12.Ctrl+B:新斷點(diǎn)

13.Ctrl+Shift+F9:清除所有斷點(diǎn)

14.Ctrl+Shift+B生成解決方案

15.Shift+Alt+Enter:全屏

16.大綱顯示:Ctrl+M, Ctrl+M:切換大綱顯示展開;Ctrl+M, Ctrl+L:切換所有大綱顯示;Ctrl+M,Crtl+P停止大綱顯示;Ctrl+M, Ctrl+O:折疊到定義

17.智能感知:Ctrl+J:列出成員;Ctrl+Shift+空格:參數(shù)信息; Ctrl+K,Ctrl+I:快速信息;Alt+右箭頭鍵:完成單詞

vb.net如何找到一個(gè)網(wǎng)頁中的按鈕的句柄

網(wǎng)頁中的按鈕沒有句柄可言,只有控件id,你想要的到底是什么,找到按鈕模擬點(diǎn)擊按鈕?

找到按鈕不難,查找input,id是那個(gè)按鈕的話就用DOM獲取到,然后發(fā)送.click方法

也可以用附加js腳本的方式來實(shí)現(xiàn)點(diǎn)擊那個(gè)按鈕,js腳本里實(shí)現(xiàn)獲取那個(gè)按鈕并點(diǎn)擊

VB.NET 怎樣識(shí)別用戶按下的 Shift 按鍵??

這就要調(diào)用API函數(shù)了 給你代碼吧 記得給點(diǎn)分啊

Private Const KeysM = H8000

Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown

Me.Text = e.KeyValue

If e.KeyValue = Keys.ShiftKey And GetAsyncKeyState(160) And KeysM Then

MsgBox("你按的是左SHIFT")

ElseIf e.KeyValue = Keys.ShiftKey And GetAsyncKeyState(161) And KeysM Then

MsgBox("你按的是右SHIFT")

End If

End Sub

vb.net在for循環(huán)中如何獲取鍵盤按鍵

Public Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)

Dim SplitStr As String = ","

Dim SelectionStart As Integer = sender.SelectionStart

Dim TextLength As Integer = sender.Text.Length

'------------------------------------------------------------------

Select Case Asc(e.KeyChar)

Case Is = 8 '"回刪"

Dim str As String = sender.text

Dim Array = Split(sender.text, ",", -1)

If sender.SelectionStart = str.Length Then

If str.Contains(",") Then

Dim text = ""

For x = 0 To UBound(Array) - 1

If text = "" Then

text += Array(x)

Else

text += "," + Array(x)

End If

Next

sender.text = text

sender.SelectionStart = text.Length

e.KeyChar = Chr(0)

End If

End If

Case Asc("0") To Asc("9") '" 0 to 9 "

e.KeyChar = e.KeyChar

Case Is = 44, 45 '","

Select Case TextLength

Case Is = 0

e.KeyChar = Chr(0)

Case Else

Select Case SelectionStart

Case 0

e.KeyChar = Chr(0)

Case 1 To TextLength - 1

If Mid(sender.text, SelectionStart, 1) = SplitStr Or Mid(sender.text, SelectionStart + 1, 1) = SplitStr Then

e.KeyChar = Chr(0)

Else

e.KeyChar = e.KeyChar

End If

Case TextLength

If Mid(sender.text, SelectionStart, 1) = SplitStr Then

e.KeyChar = Chr(0)

Else

e.KeyChar = e.KeyChar

End If

End Select

End Select

Case Else

e.KeyChar = Chr(0)

End Select

End Sub

這是我的程序中復(fù)制過來的,只能輸入數(shù)據(jù)字與逗號還有下劃線,你查一下F和J的Ass嗎是多少,改寫一下就OK

vb.net 獲取鍵盤輸入的字符

參考方法如下,具體解釋已經(jīng)注解在代碼中;

/定義變量

public delegate int HookProc(int nCode, Int32 wParam, IntPtr lParam);

static int hKeyboardHook = 0;

HookProc KeyboardHookProcedure;

/*************************

* 聲明API函數(shù)

* ***********************/

// 安裝鉤子 (using System.Runtime.InteropServices;)

[DllImport("user32.dll",CharSet=CharSet.Auto, CallingC.StdCall)]

public static extern int SetWindowsHookEx(int idHook,HookProc lpfn, IntPtr hInstance, int threadId);

// 卸載鉤子

[DllImport("user32.dll",CharSet=CharSet.Auto, CallingC.StdCall)]

public static extern bool UnhookWindowsHookEx(int idHook);

// 繼續(xù)下一個(gè)鉤子

[DllImport("user32.dll",CharSet=CharSet.Auto, CallingC.StdCall)]

public static extern int CallNextHookEx(int idHook, int nCode, Int32 wParam, IntPtr lParam);

// 取得當(dāng)前線程編號(線程鉤子需要用到)

[DllImport("kernel32.dll")]

static extern int GetCurrentThreadId();

//鉤子子程:就是鉤子所要做的事情

private int KeyboardHookProc(int nCode, Int32 wParam, IntPtr lParam)

{

if (nCode = 0)

{

/****************

//線程鍵盤鉤子判斷是否按下鍵

Keys keyData = (Keys)wParam;

if(lParam.ToInt32() 0)

{

// 鍵盤按下

}

if(lParam.ToInt32() 0)

{

// 鍵盤抬起

}

****************/

/****************

//全局鍵盤鉤子判斷是否按下鍵

wParam = = 0x100 // 鍵盤按下

wParam = = 0x101 // 鍵盤抬起

****************/

KeyMSG m = (KeyMSG) Marshal.PtrToStructure(lParam, typeof(KeyMSG));//鍵盤

// 在這里添加你想要做是事情(比如把鍵盤nCode記錄下來,搞個(gè)郵件發(fā)送程序發(fā)到自己的郵箱去)

return 0;//如果返回1,則結(jié)束消息,這個(gè)消息到此為止,不再傳遞。如果返回0或調(diào)用CallNextHookEx函數(shù)則消息出了這個(gè)鉤子繼續(xù)往下傳遞,也就是傳給消息真正的接受者

}

return CallNextHookEx(hKeyboardHook, nCode, wParam, lParam);

}

//鍵盤結(jié)構(gòu)

public struct KeyMSG

{

public int vkCode; //鍵值

public int scanCode;

public int flags;

public int time;

public int dwExtraInfo;

}

// 安裝鉤子

public void HookStart()

{

if(hKeyboardHook == 0)

{

// 創(chuàng)建HookProc實(shí)例

KeyboardHookProcedure = new HookProc(KeyboardHookProc);

// 設(shè)置線程鉤子

hKeyboardHook = SetWindowsHookEx( 13,KeyboardHookProcedure,Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]),0);

//************************************

//鍵盤線程鉤子

//SetWindowsHookEx( 2,KeyboardHookProcedure, IntPtr.Zero, GetCurrentThreadId()); //GetCurrentThreadId()為要監(jiān)視的線程ID,你完全可以自己寫個(gè)方法獲取QQ的線程哦

//鍵盤全局鉤子,需要引用空間(using System.Reflection;)

//SetWindowsHookEx( 13,KeyboardHookProcedure,Marshal.GetHINSTANCE(Assembly.GetExecutingAssembly().GetModules()[0]),0);

//

//關(guān)于SetWindowsHookEx (int idHook, HookProc lpfn, IntPtr hInstance, int threadId)函數(shù)將鉤子加入到鉤子鏈表中,說明一下四個(gè)參數(shù):

//idHook 鉤子類型,即確定鉤子監(jiān)聽何種消息,上面的代碼中設(shè)為2,即監(jiān)聽鍵盤消息并且是線程鉤子,如果是全局鉤子監(jiān)聽鍵盤消息應(yīng)設(shè)為13,

//線程鉤子監(jiān)聽鼠標(biāo)消息設(shè)為7,全局鉤子監(jiān)聽鼠標(biāo)消息設(shè)為14。

//

//lpfn 鉤子子程的地址指針。如果dwThreadId參數(shù)為0 或是一個(gè)由別的進(jìn)程創(chuàng)建的線程的標(biāo)識(shí),lpfn必須指向DLL中的鉤子子程。 除此以外,lpfn可

//以指向當(dāng)前進(jìn)程的一段鉤子子程代碼。鉤子函數(shù)的入口地址,當(dāng)鉤子鉤到任何消息后便調(diào)用這個(gè)函數(shù)。

//

//hInstance應(yīng)用程序?qū)嵗木浔?。?biāo)識(shí)包含lpfn所指的子程的DLL。如果threadId 標(biāo)識(shí)當(dāng)前進(jìn)程創(chuàng)建的一個(gè)線程,而且子程代碼位于當(dāng)前

//進(jìn)程,hInstance必須為NULL??梢院芎唵蔚脑O(shè)定其為本應(yīng)用程序的實(shí)例句柄。

//

//threadedId 與安裝的鉤子子程相關(guān)聯(lián)的線程的標(biāo)識(shí)符。如果為0,鉤子子程與所有的線程關(guān)聯(lián),即為全局鉤子。

//************************************

// 如果設(shè)置鉤子失敗

if(hKeyboardHook == 0 )

{

HookStop();

throw new Exception("SetWindowsHookEx failed.");

}

}

}

// 卸載鉤子

public void HookStop()

{

bool retKeyboard = true;

if(hKeyboardHook != 0)

{

retKeyboard = UnhookWindowsHookEx(hKeyboardHook);

hKeyboardHook = 0;

}

if (!( retKeyboard))

throw new Exception("UnhookWindowsHookEx failed.");

}

新聞名稱:vb.net獲取按鍵 vb命令按鈕訪問鍵
網(wǎng)站鏈接:http://muchs.cn/article24/hgsoce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、電子商務(wù)、App設(shè)計(jì)、網(wǎng)頁設(shè)計(jì)公司企業(yè)網(wǎng)站制作、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司