Jump to content
Sign in to follow this  

Problem with script that monitors the Windows Clipboard for a format type

Recommended Posts


Hey, folks!

First, let me say that I'm very new to using AutoIt, so I'll need a lot of hand-holding...

I'm trying to write a script which does the following actions to automate search functionality with a document search engine that runs only through a console window:

1.) Launch the console window. (No problem with the script.)

2.) Update, then open the index used to perform text searches. (No problem with the script.)

3.) Pause the script until it detects generic text in the Windows Clipboard; this text is supplied by a third-party application, and once the end user clicks the "Search" button to search for that text string in the body of documents, the third-party application will put the text string into the Windows Clipboard so the AutoIt script can access it.

4.) Copy the text from the Windows Clipboard.

5.) Automatically type "Find [sPACE]", then paste the contents of the Windows Clipboard into the console window.

6.) The console window will perform the search, then return to display all the hits in the body of documents. In that returned display will be six attributes of each hit (such as the file name, directory of the file, file size, etc.). The AutoIt script then needs to capture the results, then parse them so the results can be displayed in a grid/array/spreadsheet like layout.

With a little help from a stranger on this fine forum, I was able to set up the Run and StdOutRead functions. However, I am having problems with the copy functions. And I haven't gotten far enough to know what problems or challenges I may have in parsing the text for spreadsheet layout.

Below is my existing script thus far:

#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <Constants.au3>
#Include <Clipboard.au3>
#Include <GuiRichEdit.au3>
Global $iPID = Run("C:\Apppath\Application.exe", "C:\Apppath", @SW_SHOW, $STDERR_CHILD + $STDOUT_CHILD)
WinWaitActive ("wilmacmd.exe")
_ClipBoard_GetData([$CF_TEXT = 1])
Send("listresults 10000{ENTER}")
Global $line = " "
While 1
    $line = StdOutRead($iPID)
    If @error Then ExitLoop
    MsgBox(0, "StdOutRead: " & $iPID, $line)

While 1
    $line = StdErrRead($iPID)
    If @error Then ExitLoop
    MsgBox(0, "StdErrRead: " & $iPID, $line)

MsgBox(0, "Debug")

I'm not only at a loss on how to fix the clipboard functions (IsFormatAvailable and GetData), but I don't know how I would parse the text results.

Any ideas?

Thank you very much in advance for your assistance!

Most gratefully...


Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this