Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803

    [win32] "confirm" con timeout

    salve, qualcuno sa indirizzarmi alla doc per realizzare la classica finestra con i tasti OK e Annulla (per capirci quella che si chiama confirm in javascript) ma con un timeout, allo scadere del quale ci sia una opzione di default che si attiva?

    ps: la funzione si chiama MessageBox(), ma il timeout come lo realizzo?

  2. #2
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    credo di aver capito che devo mandare WM_CLOSE tramite WindowProc()..ma sono ancora in alto mare

  3. #3
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    http://www.codeproject.com/KB/cpp/Me...oxTimeout.aspx

    qui dice che esiste una funzione non documentata MessageBoxTimeout, qualche esperto APIcultore può darmi una mano?

  4. #4
    Se la vuoi usare ti basta fare come dice l'articolo... a ben vedere però bisognerebbe evitare assolutamente di utilizzare funzioni non documentate (leggiti il blog di Raymond Chen per capire perché); un'alternativa sarebbe richiamare la MessageBox e da un altro thread ottenerne l'handle e chiuderla inviandole un WM_CLOSE dopo tot millisecondi. Non è comunque un granché come soluzione, e dato che non esiste un'interfaccia standard per le finestre "a tempo" su Windows credo che la cosa migliore da fare sia implementarti da te un dialog che abbia le funzioni che vuoi tu.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    Fatti una MessageBox tua.. E' più semplice, veloce e ne hai il controllo..

  6. #6
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da Stoicenko
    Fatti una MessageBox tua.. E' più semplice, veloce e ne hai il controllo..
    e beh ..di programmazione win32 non so assolutamente niente per questo cercavo di aggirare il problema, le mie conoscenze in ambito programmazione SO sono e rimangono su linux
    infatti quello che ha detto mitaly di creare un altro thread e utilizzare quello per l'operazione l'avevo pensato, peccato che in win non saprei dove mettere mano..
    se però mi dite che di tratta di un paio di funzioni mi documento un attimo, altrimenti continuo la ricerca di qualcosa già fatto..

    preciso che è per utilizzo "casalingo" efficienza ed eleganza non mi interessano..

  7. #7
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    ok sto usando il sorgente che ho postato prima..

    pserchè non si dovrebbero usare le funzioni non documentate?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da ant_alt
    ok sto usando il sorgente che ho postato prima..

    pserchè non si dovrebbero usare le funzioni non documentate?
    Perche', se non sono documentate è perchè potrebbero essere modificate/abbandonate senza preavviso e quindi non sono affidabili ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente bannato
    Registrato dal
    Feb 2004
    Messaggi
    2,803
    Originariamente inviato da oregon
    Perche', se non sono documentate è perchè potrebbero essere modificate/abbandonate senza preavviso e quindi non sono affidabili ...

    vabbè..finché funzia la uso
    grazie a tutti

  10. #10
    Originariamente inviato da ant_alt
    vabbè..finché funzia la uso
    No.
    http://technet.microsoft.com/en-us/l...44(WS.10).aspx
    http://blogs.msdn.com/oldnewthing/ar.../24/45779.aspx
    http://blogs.msdn.com/oldnewthing/ar.../23/45481.aspx
    http://blogs.msdn.com/oldnewthing/ar.../18/44425.aspx
    http://blogs.msdn.com/oldnewthing/ar.../04/55560.aspx
    http://blogs.msdn.com/oldnewthing/ar...7/8954572.aspx
    http://blogs.msdn.com/oldnewthing/ar...01/459023.aspx
    http://www.google.it/search?q=site:b...g+undocumented
    E in più guardati il contenuto di %windir%\AppPatch e di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Compatibility.
    Windows è già pieno a sufficienza di codice per mantenere la compatibilità con programmi scritti da mentecatti che non sanno capire la differenza tra il contratto della API e i suoi dettagli implementativi, non ti ci mettere anche tu.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.