1- ; https://www.autohotkey.com/boards/viewtopic.php?style=19&t=96159
2- ; @Ahk2Exe-ExeName %A_ScriptDir%\release\KeyboardScreenshot.exe
1+ #Include %A_ScriptDir%\config.ahk
32#Include github_modules/Gdip/Gdip.ahk
43
5- #SingleInstance , force
64CoordMode , Mouse , Screen
75
86mouseSpeed := 50
@@ -22,6 +20,7 @@ resizeNextScreenshotBy := 1
2220saveToFile := 0
2321uploadWithShareX := 0
2422editWithShareX := 0
23+ ocrScreenshot := 0
2524
2625if (! a_iscompiled ) {
2726 Menu , tray , icon , icon.ico,0 ,1
9190 saveToFile := 0
9291 uploadWithShareX := 0
9392 editWithShareX := 0
93+ ocrScreenshot := 0
9494 ; SetTimer, MouseHintTimer, 100
9595 ToolTip , move to START position with arrow keys`nthen press space
9696 }
214214 uploadWithShareX := 0
215215return
216216
217+ o ::
218+ ToolTip , Screenshot will be OCR'd
219+ ocrScreenshot := 1
220+ return
221+
217222GetStartPosition :
218223 state := 2
219224 MouseGetPos , screenShotStartX, screenShotStartY
@@ -293,7 +298,7 @@ CreateScreenshot:
293298 SoundBeep, 500, 5
294299 */
295300
296- CaptureScreen(screenShotStartX " , " screenShotStartY " , " screenShotEndX " , " screenShotEndY, 0 , saveToFile, uploadWithShareX, editWithShareX, 0 , resizeNextScreenshotBy)
301+ CaptureScreen(screenShotStartX " , " screenShotStartY " , " screenShotEndX " , " screenShotEndY, 0 , saveToFile, uploadWithShareX, editWithShareX, ocrScreenshot, 0 , resizeNextScreenshotBy)
297302 ; ToolTip, Mouse region capture to clipboard
298303 Sleep , 1000
299304 ToolTip ,
@@ -355,7 +360,7 @@ PreviewDestroy() {
355360; Convert("C:\image.bmp", "C:\image.jpg", 95)
356361; Convert(0, "C:\clip.png") ; Save the bitmap in the clipboard to sFileTo if sFileFr is "" or 0.
357362
358- CaptureScreen(aRect = 0 , bCursor = False , saveToFile = 0 , uploadWithShareX = 0 , editWithShareX = 0 , nQuality = "" , resizeBy = 1 )
363+ CaptureScreen(aRect = 0 , bCursor = False , saveToFile = 0 , uploadWithShareX = 0 , editWithShareX = 0 , ocrScreenshot = 0 , nQuality = "" , resizeBy = 1 )
359364{
360365 ; Add Gdip startup
361366 If ! pToken := Gdip_Startup()
@@ -436,10 +441,11 @@ CaptureScreen(aRect = 0, bCursor = False, saveToFile = 0, uploadWithShareX = 0,
436441
437442 SetClipboardData(hBM)
438443
439- if (saveToFile = 1 || uploadWithShareX = 1 || editWithShareX = 1 ) {
444+ if (saveToFile = 1 || uploadWithShareX = 1 || editWithShareX = 1 || ocrScreenshot = 1 ) {
440445 ; Convert(hBM, "c:\test.bmp", nQuality), DllCall("DeleteObject", "ptr", hBM)
441446 FormatTime , currentDateTime, , yyyy_MM_dd_HH_mm_ss
442- filename := A_ScriptDir . " \screenshots\" . currentDateTime . " .jpg"
447+ baseFilename := A_ScriptDir . " \screenshots\" . currentDateTime
448+ filename := baseFilename . " .jpg"
443449 Convert(0 , filename)
444450 }
445451
@@ -460,7 +466,24 @@ CaptureScreen(aRect = 0, bCursor = False, saveToFile = 0, uploadWithShareX = 0,
460466 FileDelete , %filename%
461467 }
462468 }
463-
469+
470+ if (ocrScreenshot = 1 ) {
471+ ; M sgBox, "C:\Program Files\ShareX\ShareX.exe" "%filename%"
472+ if (! a_iscompiled ) {
473+ RunWait , " ocr.ahk" " %baseFilename%"
474+ } else {
475+ RunWait , " ocr.exe" " %baseFilename%"
476+ }
477+ textFilename := baseFilename . " .txt"
478+ FileRead , text , %textFilename%
479+ clipboard := text
480+ FileDelete , %textFilename%
481+ if (saveToFile = 0 ) {
482+ Sleep , 1000
483+ FileDelete , %filename%
484+ }
485+ }
486+
464487 DllCall (" DeleteObject" , " ptr" , hBM)
465488 ; Add Gdip shutdown at the end of the function
466489 Gdip_Shutdown(pToken)
0 commit comments