KnowBrainer Speech Recognition
Decrease font size
Increase font size
Topic Title: VBA Inconsistency with Dragon Professional Individual
Topic Summary: SendKeys format is different on Windows 7 and Windows 10
Created On: 07/28/2016 03:49 AM
Status: Post and Reply
Linear : Threading : Single : Branch
 VBA Inconsistency with Dragon Professional Individual   - Todd - 07/28/2016 03:49 AM  
 VBA Inconsistency with Dragon Professional Individual   - danw700 - 07/28/2016 07:23 AM  
 VBA Inconsistency with Dragon Professional Individual   - Lunis Orcutt - 07/28/2016 03:38 PM  
Keyword
 07/28/2016 03:49 AM
User is offline View Users Profile Print this message

Author Icon
Todd
Advanced Member

Posts: 182
Joined: 02/03/2008

I realize problems with the use of the VBA SendKeys function with DPI on Windows 10 has been discussed.  So, if the questions I pose below have already have been answered, please feel free to direct me to the relevant thread.

 

I have created thousands of Dragon NaturallySpeaking advanced scripts over several years.  These commands have worked consistently with all versions of DNS Pro 8 through 13.  However, quite a number of the commands utilizing SendKeys do not work with DPI on Windows 10.  What I do not understand is that all of these commands work with DNS Pro 13 on both Windows 7 AND Windows 10 as well as with DPI on Windows 7, but not with DPI on Windows 10.

 

I was able to ascertain that specific "nonstandard" and special keystrokes do not work with SendKeys with DPI on Windows 10.  Such keystrokes include:

 

    {Space}
    {
    }
    (
    )
    {Pad0}, {Pad1}, {Pad+}, etc.

 

For example,

 

    SendKeys "{Space}"

 

displays a VBA error on Windows 10, but not on Windows 7.  I am not particularly concerned with the numeric keypad keystrokes (which are in no way supported by VBA), but the other keystrokes are used enough in my custom commands to create serious problems.

 

In researching the issue, I learned that standard VBA requires the above keystrokes (ignoring the numeric keypad keys) be used with SendKeys in the following fashion:

 

    SendKeys "{ }"    'a spacebar
    SendKeys "{{}"   'an open-brace
    SendKeys "{(}"    'an open-parenthesis
    SendKeys "{}}"   'a close-brace
    SendKeys "{)}"   'a close-parenthesis

 

(Actually, the above format for an open-brace and open-parenthesis has always been necessary with DNS.)  If I make these changes, the commands once again work with DPI on Windows 10.  HOWEVER, the commands then fail with DPI on Windows 7.

 

I am perplexed that VBA behaves differently on Windows 7 than on Windows 10.  After all, the same compiler in DPI is being used.  Also, the fact that the problem does not occur with DNS Pro 13 on Windows 10 indicates the problem lies with DPI and not the Windows 10 operating system.  Can someone explain the inconsistency?

 

I realize using SendDragonKeys could solve the problem, but it is unrealistic to make such changes to literally thousands of commands.  Changing the offending keystrokes, on the other hand, would be doable if there was a consistent format.  Use of the Chr() function (to produce the keystrokes) is also inconsistent between Windows 7 and Windows 10 with DPI.  Suggestions?

 

Thank you.

 

Todd



-------------------------

Todd Kermit
Principal
SpeechWise
todd@speechwise.com

www.speechwise.com

Dragon Professional Individual 15.61, Intel Core i7-10700K, 16GB RAM, Windows 10 Pro, Plantronics CS55/Andrea PureAudio USB-SA



 07/28/2016 07:23 AM
User is offline View Users Profile Print this message

Author Icon
danw700
Top-Tier Member

Posts: 1144
Joined: 04/25/2014

my 1c woth it is a win 10 permission hassle - if you run with UAC off and even off with a reg hack other matters come into play. i have played with this - i use freewake evelate to load eleverted from a batch file but dragon will not run elevated

 

i came cross a tweaker that seems to settle win 10 own to let vba and hooked stuff run ok. I use TextAloud but then my hotkeys stopped working - stopping the system - using this tweaker to stop UCA seemed to clear up my mess and halts

http://winaero.com/blog/how-to-turn-off-and-disable-uac-in-windows-10/

 

my advice is often flawed

 



-------------------------

The forum has me as a Top-Tier Member NO I am a laid-back layman

 07/28/2016 03:38 PM
User is online View Users Profile Print this message

Author Icon
Lunis Orcutt
Top-Tier Member

Posts: 40989
Joined: 10/01/2006

Nuance implemented a DPI 14 scripting change which as far as we can tell, is nothing more than slowing the Dragon SAX scripting engine down so that you can use Advanced-Scripting commands in Windows 10. The real solution would be to upgrade to WinWrap Basic. We have also run into numerous sluggish/timeout issues in Windows 10. Unfortunately, at this point, our only recommendation is to avoid using Dragon Advanced-Scripting commands. We can still get away with using most of our personal commands but they don't work in Outlook and we can see them floundering everywhere else. It's long past time to retire SAX scripting which was originally designed for Windows 98, XP and Vista.

If possible, we recommend porting your commands into Vocola, VoiceComputer or KnowBrainer Professional which are all significantly faster and immune to these Dragon issues. KnowBrainer and Dragon share the same VB scripting tools with the exception of a handful of VB commands that were introduced over the last decade like SendKeys "~" for
SendKeys "{Enter}" but you can copy nearly any Dragon VB scripting command directly into KnowBrainer without editing and they should deploy 4 times faster.



-------------------------

Change "No" to "Know" w/KnowBrainer 2022
Trial Downloads
Dragon/Sales@KnowBrainer.com 
(615) 884-4558 ex 1



Statistics
32634 users are registered to the KnowBrainer Speech Recognition forum.
There are currently 3 users logged in.
The most users ever online was 12124 on 09/09/2020 at 04:59 AM.
There are currently 279 guests browsing this forum, which makes a total of 282 users using this forum.

FuseTalk Standard Edition v4.0 - © 1999-2023 FuseTalk™ Inc. All rights reserved.