ERRO HWND
Private Declare Function SendMessage Lib [Ô]user32[Ô] Alias [Ô]SendMessageA[Ô] (ByVal hWnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&
Dim NumErro As Integer
Dim result As Long
result = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
O que há de errado ?
[Ô]Erro hWnd não declarado. [Ô]
Onde você colocou este código? hWnd só existe nos Forms se não me engano, pois ele é o handle da janela, que é a forma como o Windows identifica as janelas.
Variavel Global :
Private Declare Function SendMessage Lib [Ô]user32[Ô] Alias [Ô]SendMessageA[Ô] (ByVal hWnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&
Dim NumErro As Integer
Dentro Form Load :
Dim result As Long
result = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
Private Declare Function SendMessage Lib [Ô]user32[Ô] Alias [Ô]SendMessageA[Ô] (ByVal hWnd As Long, _
ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Const WM_SYSCOMMAND = &H112&
Const SC_SCREENSAVE = &HF140&
Dim NumErro As Integer
Dentro Form Load :
Dim result As Long
result = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)
Opa falei errado, não é erro de declaração é isso que da : Error [ô]hWnd[ô] is not a member of [ô]SistemaLan.Form1[ô].
Vamos lá colega você criou um tópico sobre como chamar a proteção de tela, teve uma resposta porém não funcionou, agora você criou outro tópico com a resposta do primeiro tópico e ainda tá tendo dificuldade, mas vou te ajudar.
A partir da versão 2005 do vb, passamos a chamar de VB.NET, sei que usa a versão 2008, então vai a solução este código que você está utilizando não vai funcionar ele é pra vb6.
Encerre os dois tópicos, vá até o forum VB.NET e pergunte como chamar a proteção de tela do windows, ou procure na net como chamar a proteção de tela do windows usando vb.NET.
A partir da versão 2005 do vb, passamos a chamar de VB.NET, sei que usa a versão 2008, então vai a solução este código que você está utilizando não vai funcionar ele é pra vb6.
Encerre os dois tópicos, vá até o forum VB.NET e pergunte como chamar a proteção de tela do windows, ou procure na net como chamar a proteção de tela do windows usando vb.NET.
Se você estiver usando o VBA do Office então não tem como pegar o hWnd dos forms, o único hWnd que você vai ter acesso é o da janela principal do programa através do Application.Hwnd
Sabendo agora que você terá muita dificuldade em achar algum código para vb.net eu consegui este, e gostaria que você o testa-se e dissesse se esta funcionando, pois assim posso posta-lo nas dicas
veja
se este código funcionar favor não esquecer de informar, e posteriormente poste suas duvidas no forum .NET.
veja
Public Class Main
Private Declare Function GetDesktopWindow Lib [Ô]user32[Ô] () As Integer
Private Declare Function SendMessage Lib [Ô]user32[Ô] Alias [Ô]SendMessageA[Ô] _
(ByVal hWnd As Integer, ByVal wMsg As Integer, _
ByVal wParam As Integer, ByRef lParam As Integer) As Integer
Const WM_SYSCOMMAND As Integer = &H112
Const SC_SCREENSAVE As Integer = &HF140
Private Shared Sub StartScreenSaver()
Dim hWnd As Integer
hWnd = GetDesktopWindow()
SendMessage(hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0)
End Sub
Public Shared Sub Main()
Try
StartScreenSaver()
Catch ex As Exception
MsgBox([Ô]Error: [Ô] & ex.Message)
End Try
End Sub
End Class
se este código funcionar favor não esquecer de informar, e posteriormente poste suas duvidas no forum .NET.
Olá , desculpe por ter aberto mais tópicos. Este código não funcionou ou eu coloquei em um lugar errado. Gostaria que quando o Form_Load abrisse a proteção de tela. Coloquei tudo nas declarações e coloquei Call StartScreenSaver. Eu estou chamando certo ou como devo fazer ?
Faça seu login para responder