Colocar Resposta 
 
Avaliação do Tópico:
  • 3 votos - 3.67 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Tutorial Iniciação à Programação em VB2010
07-10-2010, 00:23
Mensagem: #8
RE: Tutorial Iniciação à Programação em VB2010
Boas, não é incomodo nenhum. Bom essa questão já tem várias respostas. Tem uma maneira simples sem programação:

Método 1 (Sem Programação): Crias um atalho para a tua aplicação no ambiente de trabalho e arrastas para Iniciar > Todos os Programas > Arranque

Depois tens um método que me agrada mais pois é muito simples e garantes que quando a aplicação for aberta uma vez passa a arrancar sempre com o pc.

Método 2 (Com programação):

Private Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal hKey As Long, ByVal lpValueName As String) As Long
Private Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long
Private Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal phkResult As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal phkResult As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, ByVal lpType As Long, ByVal lpData As String, ByVal lpcbData As Long) As Long

Private Const HKLM As Long = &H80000002

Private Function FArranque(ByVal Accao As String) As Integer
Dim lResult As Long
Dim lChave As Long
Dim TipoDados As Long
Dim sValor As String
Dim Chave As String
Dim NomeVal As String
Dim temp As String
Dim ProgPath As String

NomeVal = "ProgTeste"

ProgPath = "Application.CAminho da tua aplicação" ' ATENÇÃO <-------------------------------------------|
If (LCase(Right(ProgPath, 1)) <> "\") Then ProgPath = ProgPath & "\"

Chave = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
sValor = ProgPath & "Application.NomedoExecutável" ' ATENÇÃO <-------------------------------------------|

If (LCase(Right(sValor, 4)) <> ".exe") Then sValor = sValor & ".exe"

lResult = RegOpenKey(HKLM, Chave, lChave)
temp = Space(1024)
lResult = RegQueryValueEx(lChave, NomeVal, 0&, TipoDados, temp, Len(temp))

If (lResult = 0) And (Accao = "del") Then
lResult = RegDeleteValue(lChave, NomeVal)
'lResult = RegCloseKey(lChave)
ElseIf (lResult = 2) And (Accao = "add") Then
lResult = RegCreateKey(HKLM, Chave, lChave)
lResult = RegSetValueExString(lChave, NomeVal, 0&, 1&, sValor, Len(sValor))
End If
App()
FArranque = lResult
lResult = RegCloseKey(lChave)
End Function

Para utilizar a função FArranque basta:

FArranque "add" (Adicionar)
ou
FArranque "del" (Remover)

Este método não foi feito por mim, no entanto encontrei à bastante tempo e quando quero fazer algo do género uso-o e funciona na boa!!

Abraço

[Imagem: wordpress_frms.png]
Microsoft Student Partner 2010/2011
Estudante 2º Ano Informática Universidade Portucalense
Visitar Website de este utilizador Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Mensagem neste Tópico
RE: Tutorial Iniciação à Programação em VB2010 - machado891 - 07-10-2010 00:23

Saltar Fórum:


Utilizadores a ver este tópico: 1 Visitante(s)