1. 程式人生 > >C語言 模擬鍵盤、滑鼠事例

C語言 模擬鍵盤、滑鼠事例

#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
/*
本程式實現自動搜尋功能,首先是使用 ShellExecuteA() 開啟瀏覽器,然後用鍵盤輸入 
(呼叫search())keybd_event()進行輸入,最後一個 keybd_event(0x0d, 0, 0, 0); 回車進行查詢。
然後使用:clik()函式,先把滑鼠定位到(SetCursorPos(200,200);) 要查詢的位置,
再使用:mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0,0); 左鍵按下(即單擊)完成查詢工作。
*/
void openIE()
{	//非同步開啟瀏覽器
	//引數1:指定父視窗、引數2:操作動作 譬如: open、runas、print、edit、explore、find
	//引數3:指定要開啟的檔案或程式路徑、 引數4:給要開啟的程式的引數,如果要開啟的是檔案這裡可以是NULL
	//引數5:預設目錄、 引數6:開啟選項(0:隱藏。1:用最近的大小和位置,啟用。2:最小化。3:最大化,啟用。4:用最近的大小、位置,但不啟用。6:最小化,不啟用。
	ShellExecuteA(0, "open", "http://www.baidu.com", 0, 0, 1);
}

//滑鼠點選
void click()
{
	//該函式把游標移到螢幕的指定位置
	SetCursorPos(200,250);
	//滑鼠單擊
	mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0,0); //左鍵按下
	mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);  //左鍵鬆開
}
//使用鍵盤輸入要查詢的關鍵詞。
void search()
{
	//鍵盤輸入
	keybd_event('J', 0, 0, 0); //按下
	keybd_event('J', 0, 2, 0); //鬆開
	Sleep(500);
	keybd_event('A', 0, 0, 0); //按下
	keybd_event('A', 0, 2, 0); //鬆開
	Sleep(500);
	keybd_event('V', 0, 0, 0); //按下
	keybd_event('V', 0, 2, 0); //鬆開
	Sleep(500);
	keybd_event('A', 0, 0, 0); //按下
	keybd_event('A', 0, 2, 0); //鬆開
	Sleep(500);

	//回車
	keybd_event(0x0d, 0, 0, 0);
	keybd_event(0x0d, 0, 2, 0);
	Sleep(500);
}

void main()
{
	//開啟IE瀏覽器
	openIE();
	Sleep(3000);
	//輸入要查詢的關鍵字
	search();
	Sleep(1000);
	//設定位置點選查詢
	click();
	Sleep(2000);

	system("pause");
}

以上程式碼來源自尹成老師的視訊。