vb.net模擬鍵入 vb模擬按鍵

VB.NET 如何模擬鼠標(biāo)事件 - VB.NET -

錄制回放沒有問題,可是在鼠標(biāo)移動(dòng)過程中怎么去捕獲,鼠標(biāo)進(jìn)行了單擊,還是雙擊呢.捕獲不到回放的時(shí)候不知道什么時(shí)候該單擊還是雙擊.

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供石首網(wǎng)站建設(shè)、石首做網(wǎng)站、石首網(wǎng)站設(shè)計(jì)、石首網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、石首企業(yè)網(wǎng)站模板建站服務(wù),十載石首做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

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)識,lpfn必須指向DLL中的鉤子子程。 除此以外,lpfn可

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

//

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

//進(jìn)程,hInstance必須為NULL。可以很簡單的設(shè)定其為本應(yīng)用程序的實(shí)例句柄。

//

//threadedId 與安裝的鉤子子程相關(guān)聯(lián)的線程的標(biāo)識符。如果為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.net不是VB6中.怎么做軟鍵盤輸入漢字.我現(xiàn)在能輸入英文但是漢字不行

既然你可以輸入英文,只要系統(tǒng)切換到中文輸入方式下,例如“谷歌拼音”,不就可以輸入中文了

VB.NET 向指定(網(wǎng)頁或軟件)的輸入框內(nèi)輸入字符,如何實(shí)現(xiàn)?

假如Form1有個(gè)TextBox1,雙擊TextBox1填入123

Public Class Form1

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Integer, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub TextBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.DoubleClick

System.Windows.Forms.SendKeys.Send("123")

End Sub

End Class

看你的VB.NET 版本了

用 My.Computer.Keyboard.SendKeys("123", True) 代替 System.Windows.Forms.SendKeys.Send("123") 也可以

原碼:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub TextBox1_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.DoubleClick

My.Computer.Keyboard.SendKeys("123", True)

End Sub

End Class

怎樣在vb.net中編寫模塊,輸入一個(gè)值,輸出多個(gè)值?

Call Mida("2.1458", A, B, C)

msgbox(A)

msgbox(B)

msgbox(C)

Sub Mida(Myi As integer,ByRef A As Integer, ByRef B As Integer, ByRef C As Integer)

msgbox(myi)

A=2

B= 14

C = 58

End Sub

以上是過程,如果是在模塊里就將Sub改用Function

請問vb.net如何彈出可以輸入字符的對話框!謝謝大家了!

這個(gè)錯(cuò)誤消息的提示是“不能在非用戶界面的狀態(tài)下使用模態(tài)對話框”,你的這個(gè)程序是console(命令行)或者是無界面的?只能在有界面的程序中使用對話框的。

分享標(biāo)題:vb.net模擬鍵入 vb模擬按鍵
網(wǎng)頁網(wǎng)址:http://m.kartarina.com/article14/hgside.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版手機(jī)網(wǎng)站建設(shè)用戶體驗(yàn)移動(dòng)網(wǎng)站建設(shè)微信小程序網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(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)

h5響應(yīng)式網(wǎng)站建設(shè)
主站蜘蛛池模板: 中文一国产一无码一日韩| 亚洲另类无码专区首页| 亚洲av永久无码精品三区在线4| 亚洲最大av无码网址| 伊人久久无码中文字幕| 无码日本精品XXXXXXXXX| 熟妇人妻系列aⅴ无码专区友真希| 无码人妻少妇久久中文字幕蜜桃 | 国产精品一级毛片无码视频| 中文字幕无码免费久久9一区9| 精品无码国产污污污免费网站 | 日韩人妻无码精品专区| 免费A级毛片av无码| 国产精品无码永久免费888 | 亚洲av无码av制服另类专区| 亚洲中文字幕无码亚洲成A人片| 亚洲毛片av日韩av无码| 精品少妇人妻AV无码专区不卡| 久久久久亚洲AV成人无码| 无码国内精品久久人妻麻豆按摩| 精品一区二区三区无码免费视频| 中文无码日韩欧免费视频| 本道久久综合无码中文字幕| 制服在线无码专区| 亚洲成AV人在线观看天堂无码| 亚洲中文字幕无码爆乳av中文| 日韩无码系列综合区| 无码人妻精品内射一二三AV| 亚洲AV无码成人专区| 人妻aⅴ无码一区二区三区| 亚洲av无码av制服另类专区| 亚洲国产精品无码AAA片| 国产亚洲精久久久久久无码77777| 日韩少妇无码一区二区三区 | 亚洲av无码av制服另类专区| 亚洲午夜无码久久久久软件| 无码人妻久久久一区二区三区| 亚洲精品无码久久不卡| 精品国产V无码大片在线看| 无码国内精品人妻少妇 | 国产成人无码免费看片软件|