2016-08-17 18 views
0

画面上のキーボード内の別のウィンドウにAltの組み合わせを送信したい。組み合わせにより あなたは(レジストリキーが進のために設定する必要があります)の組み合わせAltキーを押しながら数または16進数を入力するとき、私は意味:私は SendKeysを使用して特殊文字を入力するAltの組み合わせを送信する

SendKeys.SendWait("%{ADD}251")

を試してみました

​​

が、それは+追加 Altキーです2 5 1

SendKeys.SendWait("%{ADD}%2%5%1")が、それはだ Altキー+ Altキー+追加2 Altキー+ Altキー+ 5 1

SendKeys.SendWait("%({ADD}251)")それは Altキーだし、他のキーを同時に

Ref to MSDN

のSendKeysまたは他のクラスと解決のための任意の提案を押しますか?

[編集] ソリューション:CHARCODE(列挙ソースの要素)について

例:ʊ = &H28A

Dim CharCodeUnicodeStr As String = Hex(CInt([Enum].Parse(GetType(Source), CharStr))).ToString SendKeys.SendWait("%{ADD}%" & ChrW(Convert.ToInt32(CharCodeUnicodeStr, 16)))

答えて

0

あなたはこのあなたのヘキサコードがcharに変換されます

SendKeys.SendWait("%{ADD}%" & ChrW(&H251)) 

を試してみました。あなたが他のアプリケーションを制御できるなら、この文字を数値に戻すことができます...

+0

charのコードにvarを使っているので、 'SendKeys.SendWait("%{ADD}% "&ChrW(Convert.ToInt32(i、16)))'を試しました。それは動作しません。私が言及した他の試みとして、何も起こらない。 – Lars

+0

@Larsあなたは 'Convertで試すことができます。ToInt32(i) '('、16'を取り除く) –

+0

残念ながら、**働く**。それはちょうど間違った文字コードでした。 '、16'はそこにいなければなりません。 – Lars

1

ALTであることを示すために、括弧の中にキーを入れてを押さえながら他の人を押した。

SendKeys.SendWait("%({ADD}251)") 
+0

@ラス:私はこれがあなたの3回目の試みと同じであることに気付きました。 'SendKeys'を使ってはできません。私は約1時間で何が出てくるのか見ていきます。 –

+0

@ラス:さて、その時間は予想以上に長く続きました。それは残念です(予期せぬものが出てきました)。すぐに何かを混ぜることができるかどうかが分かりますが、SuperPeanutのソリューションを試してみたら、それは簡単です。 –

+0

さて、私は 'SendInput' WinAPI関数のさまざまなバリエーションを試しましたが、成功しませんでした。 3回目の試行で同時にキーを押してもよろしいですか?それはしないでください。これは本当に何ですか? –

関連する問題