Autor Wątek: znak '=' i Send Input  (Przeczytany 2500 razy)

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 10:41:15
Mam jeden mały problem.
Za pomocą   SendInput()
chcę wysłać zdarzenie o naciśnięciu znaku '='
Tylko jak skoro w tablicy VK codes na MSDN nie ma tego klawisza?
Przeszukałem na Google (po angielsku frazą "equal sign Virtual Key Codes") i nie uzyskałem potrzebnej odpowiedzi.

Z góry dzięki za pomoc .

PS. nie pisze bota :D lecz metodę do symulowania wpisywania dowolnego tekstu.

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline counterClockWise

  • Użytkownik

# Lipiec 22, 2010, 10:43:10
A to nie jest VK_OEM_PLUS z włączonym shiftem?

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 11:13:45
hmm a normalnie naciskasz shift aby wywołać znak równości? Bo ja mam odwrotnie. Naciskam shift aby uzyskać plusa...
Choć tą kombinacje też testowałem . wynik = '+'

Offline Struś

  • Użytkownik
    • Grupa o charakterze paramilitarnym FIA

# Lipiec 22, 2010, 11:18:24
VK_EQUALS

Zajęło mi to 20 sekund szukania na google...

A tak BTW to znak '=' jest w tabeli MSDN, tylko jako '=' na klawiaturze numerycznej:
http://msdn.microsoft.com/en-us/library/aa452679.aspx
« Ostatnia zmiana: Lipiec 22, 2010, 11:20:53 wysłana przez Struś »

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 11:23:43
Hah ! Przegapiłem . A patrzyłem na tą stronkę ;)

Edit::
1. Mój msvc nie uznaje VK_EQUALS
2. VK_OEM_NEC_EQUAL nie działa...
« Ostatnia zmiana: Lipiec 22, 2010, 11:26:07 wysłana przez Frondeus »

Offline Kos

  • Użytkownik
    • kos.gd

# Lipiec 22, 2010, 11:32:51
A tak BTW to znak '=' jest w tabeli MSDN, tylko jako '=' na klawiaturze numerycznej:
http://msdn.microsoft.com/en-us/library/aa452679.aspx

Cytuj
Platform Builder for Microsoft Windows CE 5.0
win?

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 11:37:57
czyli co? Ms sie nie postarał? Trzeba wpisywać kombinacje typu 0x0086 zamiast VK_EQUALS ?
« Ostatnia zmiana: Lipiec 22, 2010, 11:53:15 wysłana przez Frondeus »

Offline Bevier

  • Użytkownik

# Lipiec 22, 2010, 11:52:38
0xBB to kod tego klawisza.

Zrób sobie makro i tyle :P.
#define VK_EQUAL 0xBB
u mnie działa

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 11:53:54
dzieki!  ;D

Offline Struś

  • Użytkownik
    • Grupa o charakterze paramilitarnym FIA

# Lipiec 22, 2010, 13:41:04
0xBB w WinUser.h to znak '+'
Kod: (cpp) [Zaznacz]
#define VK_OEM_PLUS       0xBB   // '+' any countryA znaku '=' nie ma chyba jednak w ogóle z tego co widzę...
« Ostatnia zmiana: Lipiec 22, 2010, 13:42:38 wysłana przez Struś »

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 13:56:36
0xBB działa jako = ...

Offline Bevier

  • Użytkownik

# Lipiec 22, 2010, 16:10:27
0xBB w WinUser.h to znak '+'
Kod: (cpp) [Zaznacz]
#define VK_OEM_PLUS       0xBB   // '+' any countryA znaku '=' nie ma chyba jednak w ogóle z tego co widzę...

Może to zależy od wersji SDK. U mnie marko VK_OEM_PLUS zwraca błąd (kompilator go nie widzi).
Natomiast ten kod
#include <windows.h>


int main()
{
   
    keybd_event(0xBB, 0, KEYEVENTF_EXTENDEDKEY, 0);
   
    return 0;
}

Wyświetla mi znak - '='. Nie wiem dlaczego pojawiają się, aż tak znaczące różnice przy tych klawiszach...

#Edit
Tak po zastanowieniu, Struś ty używasz Visuala, tak? Ja na laptopie niestety mam tego ****** Dev-Cpp. Być może stąd te różnice.
« Ostatnia zmiana: Lipiec 22, 2010, 16:16:21 wysłana przez Bevier »

Offline bananu7

  • Użytkownik
    • komiks RFMN

# Lipiec 22, 2010, 16:50:38
Cytuj
Ja na laptopie niestety mam tego ****** Dev-Cpp. Być może stąd te różnice.

Offline Frondeus

  • Użytkownik

# Lipiec 22, 2010, 17:22:57
ja mam visuala 2010 i 0xBB działa jako = ...

jeszcze jedno pytanko tak przy okazji :
Czy tworząc projekt Windows Forms (jako że chce stworzyć proste GUI) to moge nadal używać fcji typu SendMessage , SetCursorPos etc? Jeśli tak to jak? Program w winapi i winsock do komunikacji odpada :)

down: o tym samym pomyślałem.
« Ostatnia zmiana: Lipiec 22, 2010, 17:25:30 wysłana przez Frondeus »

Offline Struś

  • Użytkownik
    • Grupa o charakterze paramilitarnym FIA

# Lipiec 22, 2010, 17:24:21
0xBB działa jako = ...
Jak wyświetla to ok, tylko zastanawiam się, czemu w tym pliku nagłówkowym jest zdefiniowany jako '+', a znaku równości nie ma w ogóle.

Chociaż ciekawe jest to, że niektóre klawisze są opisane np. jako "/?", więc może ten działa na tej samej zasadzie (plus jest z shiftem), tylko ktoś komentarz spierdzielił.