How to convert buffer to stringHow to SendInput the following string: colorred TO-DOHow to convert a string to a numeric in autohotkey?How does AutoHotKey determine if a copied string is a number?AutoHotKey: how to check if the copy/paste buffer has certain phrase or keyword and act upon resultHow to concatenate a number and a string in auto hotkeyAutohotkey: How to read a variable from a stringHow to take a string as signal to convert a previous string?How to convert names to custom email addresses? (I.e. First.Last, F.Last@xxx…)How to expand a string in specific conditions?Converting hours to milliseconds

How do I use JSON.generator to generate an unnamed array?

Introducing Tetronogram!

Does Dispel Magic destroy Artificer Turrets?

What do I do with a party that is much stronger than their level?

What language is Raven using for her attack in the new 52?

Is there an antonym(a complementary antonym) for "spicy" or "hot" regarding food (I DO NOT mean "seasoned" but "hot")?

Why does the Eurostar not show youth pricing?

Dual-national, returning to US the day the US Passport expires; can he check in with airline on Dutch passport but reenter with expiring US passport?

What is this 4 sharp symbol and what does it mean?

Is this photo showing a woman standing in the nude before teenagers real?

Is there a way to know the composition of a Team GO Rocket before going into the fight?

How can religions be structured in ways that allow inter-faith councils to work?

Why were contact sensors put on three of the Lunar Module's four legs? Did they ever bend and stick out sideways?

Assuring luggage isn't lost with short layover

How can Paypal know my card is being used in another account?

Will this creature from Curse of Strahd reappear after being banished?

Summoning A Technology Based Demon

How to store my pliers and wire cutters on my desk?

What would the United Kingdom's "optimal" Brexit deal look like?

Examples of simultaneous independent breakthroughs

Exploiting the delay when a festival ticket is scanned

Composing fill in the blanks

Can a US President, after impeachment and removal, be re-elected or re-appointed?

Do 3/8 (37.5%) of Quadratics Have No x-Intercepts?



How to convert buffer to string


How to SendInput the following string: colorred TO-DOHow to convert a string to a numeric in autohotkey?How does AutoHotKey determine if a copied string is a number?AutoHotKey: how to check if the copy/paste buffer has certain phrase or keyword and act upon resultHow to concatenate a number and a string in auto hotkeyAutohotkey: How to read a variable from a stringHow to take a string as signal to convert a previous string?How to convert names to custom email addresses? (I.e. First.Last, F.Last@xxx…)How to expand a string in specific conditions?Converting hours to milliseconds






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I use two keyboard layouts (two languages) and for a scripting I'm writing, I need to get the current keyboard layout.



I found this function called GetKeyboardLayoutNameA from the user32.dll: https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getkeyboardlayoutnamea



It only accepts one parameter and it points to the buffer of where the locale identifier is stored at:




The buffer (of at least KL_NAMELENGTH characters in length) that receives the name of the input locale identifier, including the terminating null character. This will be a copy of the string provided to the LoadKeyboardLayout function, unless layout substitution took place.




So I wrote this script, and I used StrGet to convert the buffer to String, which seems to not work. What am I doing wrong here?



F7::
VarSetCapacity(LocaleID, 8, 0)
DllCall("GetKeyboardLayoutNameA", "Str", LocaleID)
MsgBox, % LocaleID
clipboard := StrGet(LocaleID)
Return


The script is just an example, my question is:



How to access a data buffer, and get it's value?










share|improve this question
































    1















    I use two keyboard layouts (two languages) and for a scripting I'm writing, I need to get the current keyboard layout.



    I found this function called GetKeyboardLayoutNameA from the user32.dll: https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getkeyboardlayoutnamea



    It only accepts one parameter and it points to the buffer of where the locale identifier is stored at:




    The buffer (of at least KL_NAMELENGTH characters in length) that receives the name of the input locale identifier, including the terminating null character. This will be a copy of the string provided to the LoadKeyboardLayout function, unless layout substitution took place.




    So I wrote this script, and I used StrGet to convert the buffer to String, which seems to not work. What am I doing wrong here?



    F7::
    VarSetCapacity(LocaleID, 8, 0)
    DllCall("GetKeyboardLayoutNameA", "Str", LocaleID)
    MsgBox, % LocaleID
    clipboard := StrGet(LocaleID)
    Return


    The script is just an example, my question is:



    How to access a data buffer, and get it's value?










    share|improve this question




























      1












      1








      1








      I use two keyboard layouts (two languages) and for a scripting I'm writing, I need to get the current keyboard layout.



      I found this function called GetKeyboardLayoutNameA from the user32.dll: https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getkeyboardlayoutnamea



      It only accepts one parameter and it points to the buffer of where the locale identifier is stored at:




      The buffer (of at least KL_NAMELENGTH characters in length) that receives the name of the input locale identifier, including the terminating null character. This will be a copy of the string provided to the LoadKeyboardLayout function, unless layout substitution took place.




      So I wrote this script, and I used StrGet to convert the buffer to String, which seems to not work. What am I doing wrong here?



      F7::
      VarSetCapacity(LocaleID, 8, 0)
      DllCall("GetKeyboardLayoutNameA", "Str", LocaleID)
      MsgBox, % LocaleID
      clipboard := StrGet(LocaleID)
      Return


      The script is just an example, my question is:



      How to access a data buffer, and get it's value?










      share|improve this question
















      I use two keyboard layouts (two languages) and for a scripting I'm writing, I need to get the current keyboard layout.



      I found this function called GetKeyboardLayoutNameA from the user32.dll: https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-getkeyboardlayoutnamea



      It only accepts one parameter and it points to the buffer of where the locale identifier is stored at:




      The buffer (of at least KL_NAMELENGTH characters in length) that receives the name of the input locale identifier, including the terminating null character. This will be a copy of the string provided to the LoadKeyboardLayout function, unless layout substitution took place.




      So I wrote this script, and I used StrGet to convert the buffer to String, which seems to not work. What am I doing wrong here?



      F7::
      VarSetCapacity(LocaleID, 8, 0)
      DllCall("GetKeyboardLayoutNameA", "Str", LocaleID)
      MsgBox, % LocaleID
      clipboard := StrGet(LocaleID)
      Return


      The script is just an example, my question is:



      How to access a data buffer, and get it's value?







      autohotkey






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 27 at 7:36







      Shayan

















      asked Mar 26 at 19:30









      ShayanShayan

      1702 silver badges14 bronze badges




      1702 silver badges14 bronze badges

























          1 Answer
          1






          active

          oldest

          votes


















          0














          Get rid of StrGet and it would work fine. StrGet takes an address parameter:




          The address at which the string will be written to/read from.




          But LocaleID isn't an address.




          Additionally, you can use this to get the LocaleID of the keyboard:



          F7::
          SetFormat, Integer, H
          WinGet, WinID,, A
          ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
          LocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
          MsgBox, %LocaleID%
          clipboard := LocaleID
          Return


          List of keyboard identifiers(thought would be helpful):
          https://msdn.microsoft.com/en-us/ie/dn938363(v=vs.94)






          share|improve this answer

























          • I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

            – Shayan
            Mar 27 at 7:34










          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55364940%2fhow-to-convert-buffer-to-string%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          Get rid of StrGet and it would work fine. StrGet takes an address parameter:




          The address at which the string will be written to/read from.




          But LocaleID isn't an address.




          Additionally, you can use this to get the LocaleID of the keyboard:



          F7::
          SetFormat, Integer, H
          WinGet, WinID,, A
          ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
          LocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
          MsgBox, %LocaleID%
          clipboard := LocaleID
          Return


          List of keyboard identifiers(thought would be helpful):
          https://msdn.microsoft.com/en-us/ie/dn938363(v=vs.94)






          share|improve this answer

























          • I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

            – Shayan
            Mar 27 at 7:34















          0














          Get rid of StrGet and it would work fine. StrGet takes an address parameter:




          The address at which the string will be written to/read from.




          But LocaleID isn't an address.




          Additionally, you can use this to get the LocaleID of the keyboard:



          F7::
          SetFormat, Integer, H
          WinGet, WinID,, A
          ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
          LocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
          MsgBox, %LocaleID%
          clipboard := LocaleID
          Return


          List of keyboard identifiers(thought would be helpful):
          https://msdn.microsoft.com/en-us/ie/dn938363(v=vs.94)






          share|improve this answer

























          • I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

            – Shayan
            Mar 27 at 7:34













          0












          0








          0







          Get rid of StrGet and it would work fine. StrGet takes an address parameter:




          The address at which the string will be written to/read from.




          But LocaleID isn't an address.




          Additionally, you can use this to get the LocaleID of the keyboard:



          F7::
          SetFormat, Integer, H
          WinGet, WinID,, A
          ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
          LocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
          MsgBox, %LocaleID%
          clipboard := LocaleID
          Return


          List of keyboard identifiers(thought would be helpful):
          https://msdn.microsoft.com/en-us/ie/dn938363(v=vs.94)






          share|improve this answer













          Get rid of StrGet and it would work fine. StrGet takes an address parameter:




          The address at which the string will be written to/read from.




          But LocaleID isn't an address.




          Additionally, you can use this to get the LocaleID of the keyboard:



          F7::
          SetFormat, Integer, H
          WinGet, WinID,, A
          ThreadID:=DllCall("GetWindowThreadProcessId", "UInt", WinID, "UInt", 0)
          LocaleID:=DllCall("GetKeyboardLayout", "UInt", ThreadID, "UInt")
          MsgBox, %LocaleID%
          clipboard := LocaleID
          Return


          List of keyboard identifiers(thought would be helpful):
          https://msdn.microsoft.com/en-us/ie/dn938363(v=vs.94)







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Mar 26 at 19:55









          HackinetHackinet

          3183 silver badges10 bronze badges




          3183 silver badges10 bronze badges















          • I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

            – Shayan
            Mar 27 at 7:34

















          • I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

            – Shayan
            Mar 27 at 7:34
















          I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

          – Shayan
          Mar 27 at 7:34





          I did not use that script in the first place because it does not work on some windows like console window autohotkey.com/board/topic/43043-get-current-keyboard-layout

          – Shayan
          Mar 27 at 7:34








          Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







          Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55364940%2fhow-to-convert-buffer-to-string%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

          Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

          Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript