このライブラリを使用してキーをフックしていますが、e.KeyCode.ToString()を同じ文字列と比較する際に問題が発生します。
文字列に相当する変数があります
Keys.Oemtilde
->
Program.KeyboardTradeHotkey = "Oemtilde";
xmlファイルからその文字列を読み取り、文字列をに変換する方法がないように見えるため、文字列に保持しKeys
ます。
私がこのように使用する場合:
if (e.KeyCode.Equals(Keys.Oemtilde)) {
Logging.AddToLog("[Keyboard][Check] " + e.KeyCode);
} else {
// failed to catch - executes else
Logging.AddToLog("[Keyboard][PRESS]");
}
正常に動作し、:Logging.AddToLog("[Keyboard][Check] " + e.KeyCode);
が実行されます。
私がそれを使用する場合:
if (e.KeyCode.ToString() == Program.KeyboardTradeHotkey) {
Logging.AddToLog("[Keyboard][Check] " + e.KeyCode);
} else {
// failed to catch - executes else
Logging.AddToLog("[Keyboard][PRESS]");
}
else句を実行します。この場合、文字列(e.KeyCode.ToString()とProgram.KeyboardTradeHotkeyが同じでも)は実際には機能しないようです。
これの理由は何でしょうか?