none
Inicializar a aplicação com windows RRS feed

  • Pergunta

  • Olá pessoal,

    Tenho uma pequena aplicação que precisa ser inicializada com windows. O motivo disto é que o meu cliente, as vezes reclama que o SQLServer Express não inicializou. Porém minha aplicação quando verifica que o SQL está parado precisa ser executada como administrador para startar o SQL, e por esse motivo a aplicação não inicializa com o windows.

    Vejam o código que estou usando para que a aplicação seja inicializada.

    agradeço qualquer ajuda.

            Try
                Using key As RegistryKey = My.Computer.Registry.CurrentUser.OpenSubKey("Software\Microsoft\Windows\CurrentVersion\Run", True)
                    If key.GetValue(My.Application.Info.Title) = My.Application.Info.DirectoryPath & "\" & My.Application.Info.Title & ".exe" Then
                        key.DeleteValue(My.Application.Info.Title)
                    End If
                End Using
                My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", My.Application.Info.Title, My.Application.Info.DirectoryPath & "\" & My.Application.Info.Title & ".exe")
            Catch ex As Exception
            Finally
                My.Computer.Registry.CurrentUser.Close()
            End Try
    

    quinta-feira, 18 de agosto de 2016 09:33

Respostas

  • Bom dia,

    eu uso a seguinte forma, para iniciar a aplicação no windows, esta em c#

    #region Função para Iniciar Junto com Windows
    		/// <summary>
    		/// Adicionar chave d Regedit windows.
    		/// </summary>
    		/// <param name="parentKey">Nome da chave </param>
    		/// <param name="subKey">caminho da sub chave que deseja fazer a inserção.</param>
    		/// <param name="valueName">Nome da aplicação que ira para o regedit do Windows.</param>
    		/// <param name="value">Caminho da aplicação.</param>
    		public static void Iniciar_Aplicacao(RegistryKey parentKey, string subKey, string valueName, object value)
    		{
    			RegistryKey key;
    			{
    				try
    				{
    					key = parentKey.OpenSubKey(subKey, true) ?? parentKey.CreateSubKey(subKey);
    					key?.SetValue(valueName, value);
    				}
    				catch (Exception ex)
    				{
    					XtraMessageBox.Show(ex.Message, "Click Soluções", MessageBoxButtons.OK, MessageBoxIcon.Error);
    				}
    			}
    		}
    
    
    		#endregion

    e para remover eu passo a seguinte função:

    		#region Função para Remover Inicialização do Windows
    	   /// <summary>
    	   /// Função para Remover Registro do Windows.
    	   /// </summary>
    	   /// <param name="parentKey">Registro para ser removido.</param>
    	   /// <param name="subKey">a keu que deve remover.</param>
    	   /// <param name="valueName">nome do regristo para remover.</param>
    		public static void Remover_Aplicacao(RegistryKey parentKey, string subKey, string valueName)
    		{
    			RegistryKey key;
    			try
    			{
    				key = parentKey.OpenSubKey(subKey, true);
    				key?.DeleteValue(valueName, false);
    			}
    			catch (Exception ex)
    			{
    				XtraMessageBox.Show(ex.Message, "Click Soluções", MessageBoxButtons.OK, MessageBoxIcon.Error);
    			}
    		}
    		#endregion

    espero te ajudar dessa forma, caso tenha duvida post aqui que tento te ajudar.

    quinta-feira, 18 de agosto de 2016 13:12