Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

KyO-ChaN

Aplicativo Iniciando com Windows

Recommended Posts

EA GALERA MEU PRIMERO TOPICO AQUI ! BOM EU QUERIA SABER COMO ! EU FAÇO PARA QUE TODA A VEZ QUE O WINDOWS FOR INICIALIZADO O MEU APLICATIVO EXECULTE TAMBEM ? TIPO QUERIA QUE MEU APLICATIVO FOSSE EXECULTADO TODA HORA QUE FOR EXECULTADO ! ? ! ?=]OBRIGADO =]GALERAA ..=]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, se seu problema for fazer com que seu programa inicie com o windows, pode-se diser que o mesmo está resolvido.

 

Coloque isto em um módulo:

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As LongPrivate Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPrivate Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As LongPrivate Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Longpublic Const HKEY_LOCAL_MACHINE = &H80000002Private Const REG_SZ = 1Public Sub GravarValorRegistro(Chave As Long, Caminho As String, Descricao As String, Dados As String)	Dim Retorno As Variant	RegCreateKey Chave, Caminho, Retorno	RegSetValueEx Retorno, Descricao, 0, REG_SZ, ByVal Dados, Len(Dados)	RegCloseKey RetornoEnd SubPublic Sub DeletarValorRegistro(Chave As Long, Caminho As String, Descricao As String)	Dim Retorno As Variant	RegCreateKey Chave, Caminho, Retorno	RegDeleteValue Retorno, Descricao	RegCloseKey RetornoEnd Sub
Depois, é só chamar as rotinas, quando quiser adicionar seu programa na inicialização:

 

GravarValorRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa", "Caminho para executável do seu programa"

 

Ou quando quiser remover da inicialização:

DeletarValorRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa"

 

Obs: Este código foi testado em Visual Basic 6. Espero ter ajudado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, se seu problema for fazer com que seu programa inicie com o windows, pode-se diser que o mesmo está resolvido.

 

Coloque isto em um módulo:

Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As LongPrivate Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As LongPrivate Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As LongPrivate Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Longpublic Const HKEY_LOCAL_MACHINE = &H80000002Private Const REG_SZ = 1Public Sub GravarValorRegistro(Chave As Long, Caminho As String, Descricao As String, Dados As String)	Dim Retorno As Variant	RegCreateKey Chave, Caminho, Retorno	RegSetValueEx Retorno, Descricao, 0, REG_SZ, ByVal Dados, Len(Dados)	RegCloseKey RetornoEnd SubPublic Sub DeletarValorRegistro(Chave As Long, Caminho As String, Descricao As String)	Dim Retorno As Variant	RegCreateKey Chave, Caminho, Retorno	RegDeleteValue Retorno, Descricao	RegCloseKey RetornoEnd Sub
Depois, é só chamar as rotinas, quando quiser adicionar seu programa na inicialização:

 

GravarValorRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa", "Caminho para executável do seu programa"

 

Ou quando quiser remover da inicialização:

DeletarValorRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa"

 

Obs: Este código foi testado em Visual Basic 6. Espero ter ajudado!

Cara, show de bola, mas posso só tirar uma dúvida, você diz para chamar a rotina, chamar onde? no próprio programa ou no windows? onde coloco isso:

GravarValorRegistro [/b][/color]HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa", "Caminho para executável do seu programa"

 

E só aproveitando também, você sabe como faço para quando fechar meu programa, ele não fechar e sim ficar oculto, assim como o msn, ficar ao lado do relágio?

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, show de bola, mas posso só tirar uma dúvida, você diz para chamar a rotina, chamar onde? no próprio programa ou no windows? onde coloco isso:

GravarValorRegistro [/b][/color]HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa", "Caminho para executável do seu programa"

O código acima onde indiquei que era para ser inserido em um módulo, vai em um módulo, depois que você já criou as rotinas é só você chamá-las como funções normais do Visual Basic. Se o nome do seu programa é "MyApp" e o caminho onde ele foi salvo é "C:\MyApp", por exemplo, então ficaria + ou - assim:

 

GravarValorRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "MyApp.exe", "C:\MyApp\"

 

E, quanto aonde chamar, é mais simples ainda, por exemplo se você quer que ao executar o seu programa ele já grave as informações no registro então você pode adicionar isso no Private Sub Form_Load() da janela principal.

 

E só aproveitando também, você sabe como faço para quando fechar meu programa, ele não fechar e sim ficar oculto, assim como o msn, ficar ao lado do relágio?

Essa foi uma curiosidade minha também. Olha fazer ele ficar na área de notificação no começo é complicado, mas se eu fosse postar todo o código aki seria muito longo, então eu fiz um upload por tempo limitado do componente que faz este trabalho... qualquer dúvida de como utilizar estarei sempre aki para ajudá-lo.

 

Download link: TraySystem.rar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, show de bola, mas posso só tirar uma dúvida, você diz para chamar a rotina, chamar onde? no próprio programa ou no windows? onde coloco isso:

GravarValorRegistro [/b][/color]HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Nome do seu programa", "Caminho para executável do seu programa"

O código acima onde indiquei que era para ser inserido em um módulo, vai em um módulo, depois que você já criou as rotinas é só você chamá-las como funções normais do Visual Basic. Se o nome do seu programa é "MyApp" e o caminho onde ele foi salvo é "C:\MyApp", por exemplo, então ficaria + ou - assim:

 

GravarValorRegistro HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "MyApp.exe", "C:\MyApp\"

 

E, quanto aonde chamar, é mais simples ainda, por exemplo se você quer que ao executar o seu programa ele já grave as informações no registro então você pode adicionar isso no Private Sub Form_Load() da janela principal.

 

E só aproveitando também, você sabe como faço para quando fechar meu programa, ele não fechar e sim ficar oculto, assim como o msn, ficar ao lado do relágio?

Essa foi uma curiosidade minha também. Olha fazer ele ficar na área de notificação no começo é complicado, mas se eu fosse postar todo o código aki seria muito longo, então eu fiz um upload por tempo limitado do componente que faz este trabalho... qualquer dúvida de como utilizar estarei sempre aki para ajudá-lo.

 

Download link: TraySystem.rar.

 

Meokor, sei que o tópico é um pouco antigo né, mas deixa eu te pedir ajuda.

 

Eu baxei a ocx que me passou.

 

Inclui o arquivo Tray.bas no meu programa e fiz referência a ocx, mas nada mudou.

 

Será que pode me dar uma mão??

 

Obrigado e abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Além de tirar a dúvida do amigo acima, me ajudou bastante, eu não sabia desse código. :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Claudio Neto,

Não ligue para a desatualidade do tópico, alias estas informações são bem interessantes e ajuda muita gente que precisa. :)

 

Mas vamos logo ao assunto. Certamente após você ter incluido a OCX um controle surgiu na barra de ferramentas (tipo uma nuvinha) né? Então adicione ela no seu formulário. Vou lhe explicar detalhadamente como mexer neste controle.

 

Após adicionar o controle em seu formulário, clique com o botão direito nele e coloque 'Properties'. No campo 'ToolTipText' adicione o nome do seu programa (é o que vai aparecer quando você passar o mouse em cima do icone do seu programa no Tray). Na aba 'Picture' coloque o icone do seu programa.

 

Insira um botão no seu formulário e insira o seguinte código no mesmo:

 

Me.HideTrayIcon1.Visible = True
Depois o seguinte procedimento separado:

 

Private Sub TrayIcon1_DblClick()Me.ShowEnd Sub
É isso. Nele também tem um método interessante que é mostrar um balão com uma mensagem, para isso use : TrayIcon1.ShowBalloon "AEW", "Estou executando aqui", tiBalloonIconInfo, 3000

 

Se ainda não conseguir usar este controle poste ai que a gente da um geito. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Claudio Neto,

Não ligue para a desatualidade do tópico, alias estas informações são bem interessantes e ajuda muita gente que precisa. :)

 

Mas vamos logo ao assunto. Certamente após você ter incluido a OCX um controle surgiu na barra de ferramentas (tipo uma nuvinha) né? Então adicione ela no seu formulário. Vou lhe explicar detalhadamente como mexer neste controle.

 

Após adicionar o controle em seu formulário, clique com o botão direito nele e coloque 'Properties'. No campo 'ToolTipText' adicione o nome do seu programa (é o que vai aparecer quando você passar o mouse em cima do icone do seu programa no Tray). Na aba 'Picture' coloque o icone do seu programa.

 

Insira um botão no seu formulário e insira o seguinte código no mesmo:

 

Me.HideTrayIcon1.Visible = True
Depois o seguinte procedimento separado:

 

Private Sub TrayIcon1_DblClick()Me.ShowEnd Sub
É isso. Nele também tem um método interessante que é mostrar um balão com uma mensagem, para isso use : TrayIcon1.ShowBalloon "AEW", "Estou executando aqui", tiBalloonIconInfo, 3000

 

Se ainda não conseguir usar este controle poste ai que a gente da um geito. :)

Shooooooow de bola....

 

Eu havia conseguido um código no site do marcoratti, também funcionou, mas com a ocx é 30 vezes mais fácil.

 

Dexa só eu perguntar uma coisa, se sabe se tem como eu colocar o evento de ir pro canto ao minimizar o programa??

 

Valeu Meokor, muito bom isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Meokor, você se tem como eu definir qual o tempo que o balão ficará aberto??Tentei alterar aquele 3000 no fim da expressão, mas não consegui definir um tempo certo.Valeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Shooooooow de bola....

 

Eu havia conseguido um código no site do marcoratti, também funcionou, mas com a ocx é 30 vezes mais fácil.

 

Dexa só eu perguntar uma coisa, se sabe se tem como eu colocar o evento de ir pro canto ao minimizar o programa??

 

Valeu Meokor, muito bom isso...

Sei você diz como o MSN né? isso é simples, mas tem que ser feito certinho (como todo procedimento :)). Faça o seguinte:

 

- Crie um novo projeto no Visual Basic e coloque no form um objeto Timer. Defina Interval = 10.

- De dois cliques no Timer, dentro dele coloque isso:

If Form1.WindowState = 1 Then   Me.Hide   TrayIcon1.Visible = TrueElse	Me.Show	TrayIcon1.Visible = FalseEnd If
- E depois coloque este novo procedimento em qualquer lugar da janela de códigos:

Private Sub TrayIcon1_Click() 'Isso acontece quando você clicar nele quando estiver perto do relógio (Tray)Form1.WindowState = 0Me.ShowEnd Sub
- É isso. Fiz aqui em casa e deu certinho. Espero que de tudo certo com você tbm :). Agora se por acaso você for fazer que esta mesma janela fique oculta você deve usar, por exemplo, Form1.WindowState = 1, porque dai o objeto Timer irá checar, ocultar e minimizar.

 

Meokor, você se tem como eu definir qual o tempo que o balão ficará aberto??

 

Tentei alterar aquele 3000 no fim da expressão, mas não consegui definir um tempo certo.

 

Valeu...

Acredito que seja só alterar esse tempo mesmo. Aqui funciona direitinho o balão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Meokor... Não tinha conseguido fazer ao minimizar coloquei qdo fechar, recebi ajuda aqui o forum tbm para isso.Mas qto ao tempo não consegui não, eu altero, mas as vezes ele demora mais, as vezes menos para fechar, meio estranho.Mas beleza, agradeço mesmo.Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.