C语言如何模拟键盘输入? 请问用C语言怎样能实现程序自动模拟键盘输入?

c\u8bed\u8a00 \u600e\u6837\u6a21\u62df\u9f20\u6807\u952e\u76d8\u64cd\u4f5c?

\u51fd\u6570\u539f\u578b\uff1a
VOID keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo );
4\u4e2a\u53c2\u6570\u90fd\u662f\u8f93\u5165\u53c2\u6570\u3002
bVk\uff1a\u952e\u540d\uff0c\u4f8b\u5982\uff1a VK_NUMPAD7\uff0cVK_BACK\uff0c VK_TAB\uff0cVK_SHIFT\uff0cVK_F1\uff0c\u3002\u3002\u3002
keybd_event(VK_MENU,0xb8,0 , 0); -- \u6309\u4e0bAlt \u952e
keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- \u653e\u5f00 Alt \u952e \uff08\u590d\u4f4d\uff0c\u5f39\u4e0a\u6765\uff09
===
\u4e0b\u9762\u7a0b\u5e8f\u6a21\u62df\u6309 notepad \u7f16\u8f91\u5668\u3002\u7b49\u4e8eC\u8bed\u8a00 system("notepad"); \u5f39\u51fa \u8bb0\u4e8b\u672c\u3002
void simu_notepad()
{
keybd_event(VkKeyScan('N'),1,0,0);
keybd_event(VkKeyScan('N'),1,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('O'),0x98,0,0); keybd_event(VkKeyScan('O'),0x98,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('T'),0x94,0,0); keybd_event(VkKeyScan('T'),0x94,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('E'),0x92,0,0); keybd_event(VkKeyScan('E'),0x92,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('P'),0x99,0,0); keybd_event(VkKeyScan('P'),0x99,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('A'),0x9E,0,0); keybd_event(VkKeyScan('A'),0x9E,KEYEVENTF_KEYUP,0);
keybd_event(VkKeyScan('D'),0xA0,0,0); keybd_event(VkKeyScan('D'),0xA0,KEYEVENTF_KEYUP,0);
keybd_event(VK_RETURN,1,0,0);
keybd_event(VK_RETURN,1,KEYEVENTF_KEYUP,0);
}

\u6211\u4e5f\u4e0d\u4f1a\uff0c\u5982\u679c\u4f60\u4eec\u4f1a\uff0c\u53d1\u4e2a\[email protected],\u8c22\u8c22

C语言模拟键盘代码如下:

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR szCmdLine,int iCmdShow)

{

MSG msg;

if(!MyRegisterClass(hInstance))

{

return FALSE;

}

if(!InitInstance(hInstance,iCmdShow))

{

return FALSE;

}

while (GetMessage (&msg, NULL, 0, 0))

{

TranslateMessage (&msg);

DispatchMessage (&msg);

}

return msg.wParam;

}

//函数:ShowKey

//作用:实现在窗口中显示按键信息

void ShowKey (HWND hwnd, int iType,char *szMessage,WPARAM wParam,LPARAM lParam)

{

static char *szFormat[2] ={"%-14s %3d %c %6u %4d %5s %5s %6s %6s",

"%-14s %3d %c %6u %4d %5s %5s %6s %6s" };

char szBuffer[80];

HDC hdc;

ScrollWindowEx(hwnd, 0, -yChar, &rc,&rc,NULL,NULL,SW_INVALIDATE);

hdc = GetDC (hwnd);

SelectObject (hdc, GetStockObject (SYSTEM_FIXED_FONT));

TextOut (hdc,

xChar,

rc.bottom - yChar,

szBuffer,

wsprintf szBuffer,

szFormat[iType]。



  • C璇█濡備綍妯℃嫙閿洏杈撳叆?
    绛旓細//鍑芥暟锛歋howKey //浣滅敤锛氬疄鐜板湪绐楀彛涓樉绀鎸夐敭淇℃伅 void ShowKey (HWND hwnd, int iType,char *szMessage,WPARAM wParam,LPARAM lParam){ static char *szFormat[2] ={"%-14s %3d %c %6u %4d %5s %5s %6s %6s","%-14s %3d %c %6u %4d %5s %5s %6s %6s" };char szBuffer[8...
  • c璇█ 鎬庢牱妯℃嫙榧犳爣閿洏鎿嶄綔?
    绛旓細bVk锛氶敭鍚嶏紝渚嬪锛 VK_NUMPAD7锛孷K_BACK锛 VK_TAB锛孷K_SHIFT锛孷K_F1锛屻傘傘俴eybd_event(VK_MENU,0xb8,0 , 0); -- 鎸変笅Alt 閿 keybd_event(VK_MENU,0xb8,KEYEVENTF_KEYUP,0); -- 鏀惧紑 Alt 閿 锛堝浣嶏紝寮逛笂鏉ワ級=== 涓嬮潰绋嬪簭妯℃嫙鎸 notepad 缂栬緫鍣ㄣ傜瓑浜C璇█ system("notepad")...
  • 璇烽棶璋冪敤閭d釜API鍑芥暟鍙互瀹炵幇妯℃嫙閿洏鎿嶄綔,姣斿瀹炵幇Ctrl+s,鏈濂芥彁渚...
    绛旓細//璇存槑: 姝や緥瀛愭紨绀哄璁颁簨鏈繘琛孋trl+S鎿嶄綔鐨勭粍鍚妯℃嫙 //code by PE_luck //鐧惧害:http://zhidao.baidu.com/question/73881239.html HWND N=::FindWindow("Notepad",NULL);if (N){ ::SetForegroundWindow(N);//鍏堝皢绐楀彛璁剧疆涓洪《绾х獥鍙,浠ヤ究鎺ユ敹鍒鎸夐敭鍝嶅簲 keybd_event(VK_LCONTROL,0,0,0);...
  • c璇█闂!!鍏充簬妯℃嫙閿洏鐨杈撳叆 鎴戠敤c璇█鎵撳紑浜嗕釜绋嬪簭,闇瑕佸線閲岄潰渚 ...
    绛旓細鍙互鐢ㄦ枃浠舵搷浣滃晩锛屼篃鍙互鐢ㄩ噸杞界被鐨刦reopen include<stdio.h>char a[10000];int main(){ freopen("out.txt","w",stdout); scanf("%d",a); return 0;}
  • windows缂栫▼濡備綍鎸囧畾瀵规煇涓涓▼搴妯℃嫙閿洏杈撳叆?
    绛旓細ctrl 閿槸 VK_CONTROL bScanCode = 0x9d shift閿槸 VK_SHIFT 0xaa 鎻块敭鏄 0锛0 閿脊涓婃潵鏄細KEYEVENTF_KEYUP锛0 渚嬪simu_keyboard.c绋嬪簭锛屾ā鎷 Alt-PrintScreen锛屾妸灞忓箷鍥惧儚鏀惧叆鍓垏鏉裤傚ご鏂囦欢锛歩nclude <Windows.h> include <Winuser.h> include <stdio.h> include <stdlib.h> /* --- ...
  • c璇█閿洏浜嬩欢keybd_event
    绛旓細0); // Tab 閲婃斁keybd_event(VK_MENU, 0xb8, KEYEVENTF_KEYUP, 0); // Alt 閲婃斁return 0;}keybd_event鍑芥暟妯℃嫙浜閿洏杈撳叆銆傝皟鐢ㄨ鍑芥暟浼氳绯荤粺瑙﹀彂WM_KEYUP鎴栬匴M_KEYDOWN浜嬩欢銆傚嚱鏁板師鍨嬫槸锛歏OID WINAPI keybd_event( _In_ BYTE bVk, _In_ BYTE bScan, _In_...
  • ...c璇█(vc6.0)濡備綍瀹炵幇鍚戜竴涓獥鍙 鍚庡彴妯℃嫙鎸夐敭 鍜 榧犳爣鎸夐敭._鐧惧害鐭...
    绛旓細妯℃嫙閿洏鐐瑰嚮void Press(UINT key){keybd_event(key,MapVirtualKey(key, 0),0,0);keybd_event(key,MapVirtualKey(key, 0),KEYEVENTF_KEYUP,0); }妯℃嫙 榧犳爣宸﹂敭鍗曞嚮mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);...
  • (C璇█) 濡備綍杈撳嚭涓涓插彲缂栬緫鐨勬枃瀛?楂樻墜甯府蹇檦璋㈣阿~
    绛旓細杩欎釜鍑芥暟妯℃嫙閿洏杈撳叆Hello World!瀛椾覆 / void keyboard(char key){ / 0040:001AH - 0040:001BH 瀛樻斁閿洏缂撳啿鍖洪鎸囬拡 0040:001CH - 0040:001DH 瀛樻斁閿洏缂撳啿鍖哄熬鎸囬拡 0040:001EH - 0040:003EH 閿洏缂撳啿鍖猴紝瀛樻斁鍑婚敭瀛楃 / int offset=peek(0x40,0x1c);int i = 0;while (key[i]!= '...
  • C璇█璁杈撳叆鐨勫彞瀛愬脊骞曠殑褰㈠紡杈撳嚭
    绛旓細灏嗘枃浠朵腑鐨勬枃鏈竴琛屼竴琛岃鍏ュ埌鏁扮粍涓紝鐒跺悗鏍规嵁鏂囨湰涓殑瀛楁瘝鏉妯℃嫙閿洏鐨杈撳叆锛屾瘡杈撳叆瀹屼竴琛屽氨杈撳叆涓涓┖鏍煎拰涓涓洖杞﹀脊骞曪紝涓枃娴佽璇嶈锛屾寚鐨勬槸鍦ㄧ綉缁滀笂瑙傜湅瑙嗛鏃跺脊鍑虹殑璇勮鎬у瓧骞曘傚ぇ閲忓悙妲借瘎璁轰粠灞忓箷椋樿繃鏃舵晥鏋滅湅涓婂幓鍍忔槸椋炶灏勫嚮娓告垙閲岀殑寮瑰箷锛屾墍浠ICO缃戞皯灏嗚繖绉嶆湁澶ч噺鐨勫悙妲借瘎璁哄嚭鐜版椂鐨勬晥鏋滃仛寮瑰箷銆...
  • 鐢C璇█缂栧啓涓涓閿洏杩炴寜绋嬪簭
    绛旓細鎻愪緵涓弬鑰冨惂TurboC2.0缂栬緫鍣ㄥ唴鎸塁TRL+F1鍙互鏌ヨC鐨勬墍鏈夊嚱鏁般佹墍灞炲簱鍙婂弬鏁拌鏄庣瓑getch()getchar()鍧囧彲鎺ユ敹濂借薄杩樻湁涓涓猭eywait()鍐嶅氨鏄皟鐢ㄤ腑鏂簡锛屼笉杩囦笉璁板緱閿洏涓柇鏄灏戜簡 濡傛灉鏄洖鏄惧湪灞忓箷涓婏紝鐢╬rintf()灏辫浜 鐢╢or(i=0;i<=n;i++)鎺у埗杈撳嚭涓暟 n鐢╯canf绛夋柟寮忔寚瀹氳妯℃嫙閿洏鎿嶄綔...
  • 扩展阅读:手机底部三个按键怎么设置 ... 华为怎么调出三个按键 ... 手机虚拟键盘怎么打开 ... 粤语键盘26字母打法 ... 手机键盘怎么调回原始 ... 专升本c语言模拟题 ... 手机模拟键盘打字通 ... 手机代替电脑键盘打字 ... 手机下面三个键怎么设置 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网