Hi Rick,
    Some of the errors on MSVCRT were related to the fact studio changed them 
each time a new studio came out...
    Below is what I posted which covers almost all the keys on the keyboard. 
There are several ways to do this, but I just have them all point to the same 
call back function where you can add a select case list or something which 
works for your usage. This at least allows the keys to be in the window there 
assigned to when the dialog is opened/created.
    In terms of separate threads, this can at least have you in the window 
dialog of your choosing and when a key is pressed while in that dialog, there 
processed and the game moves on...such as opening another dialog or simulated 
display.
    Thus inside the dialog the key is hit and goes to what ever dialog/function 
for processing

    Not a big thing but very workable for Visual Basic, if you have events...
        Bruce


'Global Script Create Assignments:
Dim myMainEscape: Set myMainEscape = Nothing
Dim myMainAltF4: Set myMainAltF4 = Nothing
CONST TotalKeys = 90 'Or any number you are using.
Dim myFuncKeys(): ReDim myFuncKeys( TotalKeys) 'Used when creating new or 
destroying
old.
'When Creating A Dialog or Closing it, use these 2 routines:
Queue "KeyRegister", dObj
Queue "KeyUnRegister"
Sub KeyRegister( dObj)
 'Registering All Keys For Game.
 Dim theKeys: theKeys = ",./ABCDEFGHIJKLMNOPQRSTUVWXYZ`1234567890-="
 Dim myKey: myKey = Array("Insert", "Delete", "Home", "End", "Page Up", "Page 
Down",
"F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10")
 Dim myKeyFunc: myKeyFunc = Array("Insert", "Del", "Home", "End", "Page Up", 
"Page
Down", "F1", "F2", "F3", "F4", "F5", "F6", "F7", "F8", "F9", "F10")
 Set myMainEscape = Keyboard.RegisterHotkey("Escape", "ExitMenu", dObj.Window, 
dObj)
 Set myMainAltF4 = Keyboard.RegisterHotkey("Alt-F4", "ExitMenu", dObj.Window, 
dObj)
 Dim i
 For i = 1 To 15
  Set myFuncKeys( i) = Keyboard.RegisterHotkey(myKey(i), "FuncKeys", 
dObj.Window,
myKeyFunc(i))
 Next
 For i = 0 To 15
  Set myFuncKeys( i+16) = Keyboard.RegisterHotkey("Shift-"&myKey(i), "FuncKeys",
dObj.Window, "Shift "&myKeyFunc(i))
  Set myFuncKeys( i+30) = Keyboard.RegisterHotkey("Control-"&myKey(i), 
"FuncKeys",
dObj.Window, "Control "&myKeyFunc(i))
 Next
 For i = 1 To 42
  Set myFuncKeys( i+45) = Keyboard.RegisterHotkey( Mid( theKeys, i, 1), 
"FuncKeys",
dObj.Window, Mid( theKeys, i, 1))
 Next
End Sub
Sub KeyUnRegister()
 ReDim myFuncKeys( TotalKeys)
 Set myMainEscape = Nothing
 Set myMainAltF4 = Nothing
End Sub
Sub ExitMenu( dObj)
 dObj.Close
End Sub
Sub FuncKeys( txt)
    'Test but will be used for game select case statements.
 Speak " Function Key: " & txt
'Select Case txt
'End Select
End Sub
Sent: Friday, June 21, 2013 5:51 AM
Subject: Re: Registering A Dll For VB


Hi Again Bruce: OK, I reviewed the MSCRT dll and found out what it all means 
and understand what you are trying to do.
I am not sure you can hook into the MSCRT dll from within a VBScript in any 
case but I could be wrong.
There seems to be allot going on in the Visual C Library which may require 
access to framework objects - I didnt see that mentioned but it sounds logical.
There is some kind of problem with VBScript where it can not do some things and 
as a result cant tie directly into many of the Managed Libraries which MSCRT 
may do.
The idea is great and, if it works, would provide some very nice features to 
scripting but it is beyond me.
The only thing I could think of would be to experiment trying to include it in 
a script somehow. If you want to hook into it via a C++ program I think that is 
doable enough then you could hook the script via methods in the C++ program. I 
think it could be done in a C# program but I didnt see anything on that other 
than a blurb on setting some compiler options - and I am not sure that wasnt 
really suppose to be for C++ since I didnt dig into the details.
Make sure you have a backup of your system if you muck about with that puppy 
since I saw allot of olks who had major problems with it for one reason r 
another with one of the symptoms not being able to boot up if I remember.
Sorry I cant be more help but you are digging pretty deep into some pretty cool 
stuff and I am just an old fat blind guy who does a little application 
programming usually related to Financial Platforms.
Just out of curisoty let me know if you get it working as it may offer some 
very interesting options to scripts.
Rick USA

  ----- Original Message ----- 
  From: BX 
  To: [email protected] 
  Sent: Thursday, June 20, 2013 2:03 PM
  Subject: Re: Registering A Dll For VB


  Hi Rick,

      I use all features of Python and the Trek Game, along with the Battleship 
game, are both written in Python and I compile them for portability

      I had issues and problems when getting stuff compiled and had the wrong 
version of PyInstaller. I think I got taken to the wrong web site and that is 
always a problem.

      I now have a real good working PyInstaller now and I can compile on any 
of my computers, Python25 or Pyth0on27. The best one is Python 2.5 and 
modifications were needed for Python 2.6 and later and that is where it fell 
apart.

      For the needed dll, MSVCRT is packaged differently for each studio 
version, thus causing lots of problems when doing a compile; fixed now.

      I would like to write a dll for studio and I am using 2010 at the moment, 
2010 express. 
      I would like to make a hook for the MSCRT so the input and display 
commands could be usable inside VBScript in an easy way.

      I have bypassed that now with the keyboard hooks I posted the other day 
by just making dictionaries for all the commands neeeded for any project or 
game.

      So, if you can help I would be appreciated. I thought I had DLL info when 
first installing VS2010 but have been unable to find it since.

          Bruce


  Sent: Thursday, June 20, 2013 5:25 AM
  Subject: Re: Registering A Dll For VB


  Hi Bruce: 2 things...
  First, doesnt nvda use python to develop in? And, if so, do you know if 
python has an easy access to either the MS managed UIA features or if they use 
the Managed version of the UIA features if python has access to the Managed 
Framework?
  Second, you mention 2010 Express which sounds like you may be doing something 
in one of the Visual Studio lagnlanguages. If so I can help you with DLL(s) in 
vb.net and likely c#.net but I am confused if you are working in VBA - that 
sounds like perhaps you are working in Office Products.
  Anyway, what do you know about python and accessing UIA features if that is 
what you are doing.
  Rick USA
    ----- Original Message ----- 
    From: BX 
    To: [email protected] 
    Sent: Wednesday, June 19, 2013 2:01 PM
    Subject: Re: Registering A Dll For VB


    Hi Chip,
        there was nothing there that was of any use. 
        I will live with what I have. I may write an app and compile it to be 
able to use Python for many things...

        My 2010 express seems to not have any Dll stuff, I could not find 
anything, but thought for sure I had found some back when I first installed it 
but have not been able to find it again.

        The key functions I posted are the best solution for now and should 
work just fine. This is why I posted them for anyone can define them any way 
they chose to either using 1 call back function or one for each, so will leave 
it at that.

        Thanks, but have to do outside work and will have to pry myself away 
from the computer because I spent the last 2 days writing  a simple mixer 
program which almost could be used as a Python version of the PlaySound 
function/object with the added feature of repeats and volume adjustment. It 
actually works with a few minor bugs which can iron out some later day.

            Thanks, Bruce


    Sent: Sunday, June 16, 2013 8:14 PM
    Subject: RE: Registering A Dll For VB


    Bruce,

     

    The first example I see is his ironcom.net, meant for sharing some .net 
objects I think.  

     

     

    His other app I was remembering is named HomerJax, it implements shared 
objects in Jscript.  Due to an unfortunate bug in GW's appGet however, this 
won't show up for you as a choice unless you uncheck the "show English only" 
choice in the appGet's "View" menu; the HomerJax app apparently has no language 
specified, so it doesn't show up with the English apps, and this is the default 
for appGet.  Once you uncheck this, you should see it in the "general" category.

     

    Hth,

     

    Chip

     

     

    From: BX [mailto:[email protected]] 
    Sent: Sunday, June 16, 2013 6:18 PM
    To: [email protected]
    Subject: Re: Registering A Dll For VB

     

    Hi Chip,

        I found out you have to call a shell command, which I think would work 
using the run command from a shell object made in VBScript.

     

        Also, the dll I wanted to load was the MSVCRT or future ones, which are 
changing each time Microsoft writes and new studio, so that idea died, besides 
not being able to call from the dll which is always running.

     

        Unless someone has come up with a way to call the MSVCR dll properties 
and methods on this list.

     

        which app examples did Jamal write or where are they, or what are they 
called?

     

        It certainly would be nice to use the Python sound mixer apps because 
there much easier to use, including id and volume control. They also use the 
MVCR dll by actually calling it by name, for they wrote a module for it using 
the same name.

     

        So, if you can give me the location of those examples he wrote and I 
will take a look at them.

     

            Bruce

     

     

     

    Sent: Sunday, June 16, 2013 5:22 PM

    Subject: RE: Registering A Dll For VB

     

    Bruce,

     

    You can't from VBScript.  I don't know Jscript, but I'm under the 
impression it can use a DLL; if that's correct, you could use it or Python and 
write some glue routines which are shared, and have them call the dll.  I 
believe Jamal wrote some examples of shared Jscript apps.

    Of course you could write glue routines in vb.net and have them call the 
dll as well.

     

    Hth,

     

    Chip

     

     

    From: BX [mailto:[email protected]] 
    Sent: Wednesday, June 12, 2013 9:21 AM
    To: [email protected]
    Subject: Registering A Dll For VB

     

    Hi!

       How do you register a dll for sharing inside the we object model?

     

            Bruce

     

Reply via email to