網上有很多關于pos機鍵盤定做,Windows圖形用戶界面自動化的知識,也有很多人為大家解答關于pos機鍵盤定做的問題,今天pos機之家(www.tonybus.com)為大家整理了關于這方面的知識,讓我們一起來看下吧!
本文目錄一覽:
1、pos機鍵盤定做
pos機鍵盤定做
AutoIT3AutoIT3介紹
AutoIT語言用于Windows GUI(圖形用戶界面)的自動化操作,它利用模擬鍵盤按鍵,鼠標移動和窗口/控件的組合來實現自動化任務,語言風格類似BASIC腳本語言,是實現Windows鉤子的語言。
AutoIt3官網:https://www.autoitscript.com/site/autoit/
AutoIt3下載地址:https://www.autoitscript.com/site/autoit/downloads/
Windows鉤子原理
Windows下的應用程序大部分都是基于消息機制的,它們都會有一個消息過程函數,根據不同的消息完成不同的功能。Windows操作系統提供的鉤子機制的作用就是用來截獲和監視這些系統中的消息。
按照鉤子作用的范圍不同,又可以分為局部鉤子和全局鉤子。局部鉤子是針對某個線程的;而全局鉤子則是作用于整個系統中基于消息的應用。全局鉤子需要使用DLL文件,在DLL中實現相應的鉤子函數。在操作系統中安裝全局鉤子后,只要進程接收到可以發出鉤子的消息,全局鉤子的DLL文件就會被操作系統自動或強行地加載到該進程中。因此,設置消息鉤子,也可以達到DLL注入的目的。
代碼案例案例1,自動化mstsc遠程連接:
;;鎖定屏幕BlockInput(1)$val1 = ShellExecuteWait("mstsc.exe")Sleep(1*1000)$val2 = WinActivate("[CLASS:#32770]")Sleep(1*1000)Send("192.168.1.2")Sleep(1*1000)Send("{ENTER}");;解鎖屏幕BlockInput(0)
案例2,操作某軟件:
#include <MsgBoxConstants.au3>;; 檢查指定的窗口是否存在Local $hExists = WinExists("[CLASS:MetaQuotes::MetaTrader::4.00]");If $hExists < 0 Then ReturnEndIf;;鎖定屏幕BlockInput(1);;; 暫停腳本的執行,直到請求的窗口存在Local $hWnd = WinWait("[CLASS:MetaQuotes::MetaTrader::4.00]", "", 1000);; 激活窗口WinActivate($hWnd);;;Sleep(800);; 獲取坐標Local $aPos = WinGetPos($hWnd);;; 移動或調整窗口大小WinMove($hWnd, "", 0, 0, 1600, 1200, 800)Send("!{T}");; Sleep(2000);;解鎖屏幕BlockInput(0);MsgBox(0, "提示", "Over!");
案例3:
MsgBox(0, "", "當前工作目錄:" & @WorkingDir);MsgBox(0, "", "當前工作目錄:" & @ScriptDir);MsgBox(0, "日期:", @YEAR & "-" & @MON & "-" & @MDAY);MsgBox(0, "時間:", @YEAR & "-" & @MON & "-" & @MDAY & " " & @HOUR & ":" & @MIN & ":" & @SEC);;; 獲取內存相關信息$mem = MemGetStats();MsgBox(64, "", "內存使用率:" & $mem[0]& "%");MsgBox(64, "", "物理內存總數 (MB):" & $mem[1]/1024 );MsgBox(64, "", "可用物理內存 (MB):" & $mem[2]/1024);MsgBox(64, "", "頁面文件大小 (MB):" & $mem[3]/1024);MsgBox(64, "", "可用頁面文件大小 (MB):" & $mem[4]/1024);MsgBox(64, "", "虛擬內存大小 (MB):" & $mem[5]/1024);MsgBox(64, "", "可用虛擬內存大小 (MB):" & $mem[6]/1024);
案例4,字符串和數組應用:
#include <Array.au3>;字符串的大小寫轉換$str01 = "abdcefg";$result01 = StringUpper($str01);$result02 = StringLower($result01);MsgBox(64,"大小寫轉換結果","大寫:" & $result01 & Chr(13) & "小寫:" & $result02);;字符串的長度$str02 = "acer01acer02acer03acer04acer05";$len = StringLen($str02);MsgBox(64,"長度","字符串的長度為:" & $len );;返回指定數量的字符串$str03 = StringLeft($str02,12);$str04 = StringRight($str02,12);MsgBox(64,"返回指定字符數","左邊的12個字符:" & $str03 & Chr(13) & "右邊的12個字符:" & $str04);;字符串替換$str05 = "a-b-c-d-e-f-g";$str06 = StringReplace($str05,"-","=");$replaceNum = @extended;MsgBox(64,"字符替換","原串:" & $str05 & Chr(13) & "替換后的串:" & $str06 & Chr(13) & "替換個數:" & $replaceNum);;字符串分割$str07 = "123,456,789,0,a,d,gg";$array01 = StringSplit($str07,",",1);MsgBox(64,"分割字符串", "分割后的數量:" & $array01[0] & Chr(13) & "第3個串:" & $array01[3]);MsgBox(64,"數組長度", "長度:" & $array01[0]);;將字符串轉換為數組$array02 = StringToASCIIArray($str01);;默認為UNICODE$array03 = StringToASCIIArray($str01,"GBK");$array04 = StringToASCIIArray($str01,2,4,"GBK");;從第2個開始第5個結束_ArrayDisplay($array02,"");_ArrayDisplay($array03,"");MsgBox(64,"數組長度", "長度:" & $array02[0]);
案例5,字符串轉數組:
; Binary ANSI to String$buffer = StringToBinary("Hello - 你好")MsgBox(4096, "String() representation" , $buffer)$buffer = BinaryToString($buffer)MsgBox(4096, "BinaryToString() ANSI representation" , $buffer); Binary UTF16-LE to String$buffer = StringToBinary("Hello - 你好", 2)MsgBox(4096, "String() representation" , $buffer)$buffer = BinaryToString($buffer, 2)MsgBox(4096, "BinaryToString() UTF16-LE representation" , $buffer); Binary UTF16-BE to String$buffer = StringToBinary("Hello - 你好", 3)MsgBox(4096, "String() representation" , $buffer)$buffer = BinaryToString($buffer, 3)MsgBox(4096, "BinaryToString() UTF16-BE representation" , $buffer); Binary UTF8 to String$buffer = StringToBinary("Hello - 你好", 4)MsgBox(4096, "String() representation" , $buffer)$buffer = BinaryToString($buffer, 4)MsgBox(4096, "BinaryToString() UTF8 representation" , $buffer)
以上就是關于pos機鍵盤定做,Windows圖形用戶界面自動化的知識,后面我們會繼續為大家整理關于pos機鍵盤定做的知識,希望能夠幫助到大家!
