PEGAR CONTEUDO DA AREA DE TRANSFERENCIA

SIDSIL 06/12/2017 17:46:36
#478314
Boa Tarde Amigos

Vou utilizar as teclas F5/F6 para jogar o conteudo de um TextBox para a Area de Transferencia e joga-lo em outro TextBox.
Ja sei como fazer isso.

O problema e que pegarei o conteudo de um TextBox especifico e precisarei joga-lo em um TextBox,cujo nome eu nao sei,pois podera ser qualquer um do formulario.

Gostaria de saber como jogar esse conteudo para o TextBox que estiver com o SetFocus,ou seja o TextBox ativo em determinado momento.

Obrigado e um Abraço
FABRICIOWEB 06/12/2017 22:13:54
#478315
Na verdade é bem fácil isso que você quer
coloquei tudo oque você precisa, a função esta dentro do time,já coloquei copiando da área de transferência
Finalize o tópico se foi útil para você. Um grande abraço




Option Explicit
[ô]
Private Declare Function GetForegroundWindow Lib [Ô]user32[Ô] () As Long
Private Declare Function IsWindow Lib [Ô]user32[Ô] (ByVal hWnd As Long) As Long
Private Declare Function GetWindowThreadProcessId Lib [Ô]user32[Ô] (ByVal hWnd As Long, lpdwProcessId As Long) As Long
Private Declare Function AttachThreadInput Lib [Ô]user32[Ô] (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Private Declare Function GetFocus Lib [Ô]user32[Ô] () As Long
[ô]


Public Function WindowHasFocus(hWndOfInterest As Long) As Boolean
WindowHasFocus = (hWndForeground = hWndOfInterest) Or (hWndOfFocus = hWndOfInterest)
End Function

Public Function hWndForeground() As Long

hWndForeground = GetForegroundWindow
End Function

Public Function hWndOfFocus() As Long
Dim foreWindowThread As Long
Dim hwndFore As Long
[ô]
hwndFore = GetForegroundWindow
If IsWindow(hwndFore) = 0 Then Exit Function
[ô]
foreWindowThread = GetWindowThreadProcessId(hwndFore, ByVal 0&)
[ô]

If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 1&
hWndOfFocus = GetFocus()
If App.ThreadID <> foreWindowThread Then AttachThreadInput App.ThreadID, foreWindowThread, 0&
End Function

Private Sub Timer1_Timer()


If WindowHasFocus(Text1.hWnd) = [Ô]True[Ô] Then
Label1.Caption = [Ô]caixa 1 selecionada[Ô]
Text1 = Clipboard.GetText(vbCFText)
End If

If WindowHasFocus(Text2.hWnd) = [Ô]True[Ô] Then
Label1.Caption = [Ô]caixa 2 selecionada[Ô]
Text2 = Clipboard.GetText(vbCFText)

End If


If WindowHasFocus(Text3.hWnd) = [Ô]True[Ô] Then
Text3 = Clipboard.GetText(vbCFText)
End If


End Sub
Faça seu login para responder