Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331

    C++ WinMobile: RegisterHotKey e Unregisterhotkey falliscono

    Salve a tutti.
    Sto provando ad utilizzare le funzioni UnregisterHotKey e RegisterHotKey per sovrascrivere il comportamento di alcuni tasti del terminale ma entrambe tornano 0 o NULL il che, stando alla documentazione, significa che sono fallite.

    Io banalmente ho chiamato le funzioni nel seguente modo:

    codice:
    UnregisterHotKey(this->m_hWnd, VK_TEND);
    RegisterHotKey(this->m_hWnd, VK_TEND, MOD_KEYUP, VK_TEND);
    ma entrambe falliscono a cominciare dalla unregister.
    Cosa sbaglio?

    Ciao, grazie
    Sandro

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Che senso ha fare l'unregister del tasto se non hai mai fatto la register?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Originariamente inviato da oregon
    Che senso ha fare l'unregister del tasto se non hai mai fatto la register?
    Sulla documentazione ho letto che se il tasto e' gia' definito bisogna fare l'unregister, pensavo che, essendo VK_TEND uno dei tasti di sistema lo si dovesse prima deregistrare e poi riregistrare.

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ma se lo deregistri tramite l'handle

    this->m_hWnd

    vuol dire che prima era associato alla "tua" finestra.

    In ogni caso, per capire meglio, prova ad eseguire la API

    int er1 = GetLastError();

    sia subito dopo la chiamata della prima API che dopo la seconda

    int er2 = GetLastError();

    e dicci quanto valgono er1 ed er2
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Ho tolto la unregister e ora succede questo: sulla VK_TEND la register continua a fallire mentre sulla VK_TPOWER viene eseguita con successo ma se premo il tasto power (quello per accendere/spegnere) il terminale il dispositivo va in sleep e non viene attivata la funzione che ho definito e che vorrei si attivasse sulla ricezione di WM_HOTKEY

    Ho inserito:

    codice:
    ON_MESSAGE(WM_HOTKEY, OnHotKey)
    nella BEGIN_MESSAGE_MAP ma OnhotKey non viene eseguita se premo il tasto di power.
    Ho l'impressione che la register non sortisca alcun effetto.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Ti ho scritto alcune prove da fare ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Originariamente inviato da oregon
    Ti ho scritto alcune prove da fare ...
    Fatte, in entrambi i casi (unregister e register di VK_TEND) mi da come errore il 6.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Il valore 6 corrisponde a

    ERROR_INVALID_HANDLE (The handle is invalid)

    Sei sicuro che l'handle è valido?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Originariamente inviato da oregon
    Il valore 6 corrisponde a

    ERROR_INVALID_HANDLE (The handle is invalid)

    Sei sicuro che l'handle è valido?
    penso prorpio di si.
    Gli passo this->m_hWnd che uso precedentemente per recuperare e disabilitare la toolbar mediante questo codice:

    codice:
    hBar = SHFindMenuBar(this->m_hWnd);
    ::Showwindow(hBar, NULL);
    che funziona.
    Inoltre se faccio la Register su VK_TPOWER invece che su VK_TEND non da errore anche se poi sulla ricezione della WM_HOTKEY non succede niente!

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Se puo' servire vi passo l'intero codice

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.