Newsgroup: it.comp.programmare
Titolo: Mouse Hook, handle, textbox & euro....

Ciao a tutti!
Avrei bisogno di un suggerimento su una piccola applicazione che intendo
fare, che mi farebbe comodo per lavoro...
Nel software che uso a lavoro abbiamo i valori espressi in euro, ma molto
spesso (per non dire sempre) i clienti richiedono il controvalore in lire...
questo significa lo sbattimento tutte le sante volte (il che vuol dire anche
300 volte in 5 ore..).
Pensavo di realizzare una piccola applicazione che mi leggesse il valore
sottostante al cursore del mouse (i valori sono scritti su textbox o su
label) e facesse la conversione facendo apparire il valore in una
finestrella volante..
Tipo babylon traslator per capirci. Ora non pretendo di arrivare a quello
(so che è un sistema molto + complicato) ma solo di ottenere il valore sotto
al cursore da una textbox o una label. Questo è il mio prob... il resto è
tranquillo.. avete suggerimenti??
grazie 1000 a tutti byez byez
--
|()|===================|()|
|()|        .-=] ExTrEmE [=-.      |()|
|()|          ICQ#12987528        |()|
|()|===================|()|

 al cursore da una textbox o una label
Ecco un piccolo esempio in Visual Basic. Non so cosa utilizzi comunque non
dovrebbe essere difficile convertirlo in altri linguaggi.
Funziona con parecchi controlli... non solo textbox e label...
Ciao!
Private Declare Function SendMessage Lib "User32" Alias "SendMessageA"
(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As
Any) As Long
Private Declare Function WindowFromPoint Lib "User32" (ByVal xPoint As Long,
ByVal yPoint As Long) As Long
Private Declare Function GetCursorPos Lib "User32.dll" (lpPoint As POINTAPI)
As Long
Private Coordinate As POINTAPI
Const WM_GETTEXT = &HD
Const WM_GETTEXTLENGTH = &HE
Private Type POINTAPI
   x As Long
   y As Long
End Type
Function GetText(Ihwnd) As String
   Dim Textlen As Long
   Dim Text As String
   Textlen = SendMessage(Ihwnd, WM_GETTEXTLENGTH, 0, 0)
   If Textlen = 0 Then
      GetText = ""
      Exit Function
   End If
   Textlen = Textlen + 1
   Text = Space$(Textlen)
   Textlen = SendMessage(Ihwnd, WM_GETTEXT, Textlen, ByVal Text)
   GetText = Left$(Text, Textlen)
End Function
Private Sub Form_Load()
   Timer1.Interval = 100
   Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
   Dim esegui As Long
   Dim hwndt As Long
   esegui = GetCursorPos(Coordinate)
   If esegui <> 0 Then
      hwndt = WindowFromPoint(Coordinate.x, Coordinate.y)
      Text1.Text = GetText(hwndt)
   End If
End Sub

finestrella volante..
Puoi fare un programma che si mette nella tray e registra una hotkey,
quando l'utente preme la hotkey copia il testo sotto il puntatore e se
č un numero lo trasforma in lire, non č difficile e non ti servono
Hook o altre cose strane, se hai bisogno posso darti qualche
informazione in piů.
-- 
                    Marco Barisione (ICQ 84277092)
Se sei interessato alla creazione di un newsgroup generico in cui si
possa parlare di quei linguaggi di programmazione senza un gruppo
apposito vota per it.comp.lang su it.news.votazioni.

Grazie! sembra essere quello che cercavo.. avevo in mente questo, ma non
ricordavo che api utilizzare!
Il prog lo faro' in delphi penso. non sarà un problema convertire.. Grazie
ancora!

 informazione in piů.
Pensavo anche io infatti ad una soluzione del genere. Il post  di skunkGuru
credo mi possa bastare, comunque se non ti scoccia se mi mandi qualche
esempio mi fa piacere, puo' essermi utile.
Grazie!!