StrokesPlus Forum
                       
StrokesPlus Forum
Home | Profile | Register | Active Topics
Members | Search | FAQ
 All Forums
 General Discussion
 General Discussion
 Copy selected text with context menu (acSendKeys)

Note: You must be registered in order to post a reply.
To register, click here. Registration is FREE!

UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

 
Check here to subscribe to this topic.
   

T O P I C    R E V I E W
Mech Posted - 01/20/2020 : 15:17:30
After making a script to copy several filled form fields from a pdf-document in Adobe Reader DC, I figured out using the context menu/right mouse button key was more reliable and faster then simply sending the default Ctrl+C (or Ctrl+Ins) key stroke.

So acSendKeys("{DELAY=50}{APP}c") turned out to be more effective than acSendKeys("{DELAY=330}^c"). For some strange (application specific) reason using Ctrl+C with a delay below 300 often didn't copy the selected text to clipboard as expected. Also tried many variations of/with acDelays before, but in the end only the 'context menu + copy' solution worked.

6   L A T E S T    R E P L I E S    (Newest First)
nober Posted - 01/23/2020 : 12:50:06
Confirmed, upon further playing around, {a} would result in "@", {pgd} would result in "Page Down", etc., as long as first half of the key code is inside curly braces, perhaps due to the underlying code that "Implements a simple binary search to locate special key name strings" https://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=6819
Rob Posted - 01/23/2020 : 12:35:56
Looking at the code, which I haven't for a LONG time and was originally written in Delphi in 1995(!) then converted by someone else in 2004, it compares the string to a list of key names, but it only compares based on the length of the string passed in, so {ap}, {app}, {apps} would all match since:

//KeyNames[Middle].keyName - "APPS"
LPCTSTR KeyString; //"ap"
_tcsnicmp(KeyNames[Middle].keyName, KeyString, _tcslen(KeyString)) == 0

It's only comparing the first two letters, the length of "ap"
Mech Posted - 01/23/2020 : 12:11:18
Oddly enough even "{ap}" is working (for me). Can someone confirm this?
nober Posted - 01/23/2020 : 04:11:19
probably a typo for {apps} key
Hard.Wired Posted - 01/22/2020 : 22:14:55
What is "{APP}"?
nober Posted - 01/22/2020 : 04:48:34
It may have to do with the application that is handling keyboard input, perhaps some Adobe codes are in play when form fields are selected, the way application communicates with clipboard, or a combination thereof.

By the way, I would recommend using
acDelay()
over
{delay=
inside acSendKeys(), because the latter changes delay between keys not only in the calling function (in this case, control and c), but also subsequent acSendKeys(), even after restarting StrokesPlus.

StrokesPlus Forum © 2011-2018 Rob Yapchanyk Go To Top Of Page
Snitz Forums 2000