Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Автозапуск Java приложения в Windows, включение/выключение автозапуска  
:(
    Опции темы
Shall
Дата 26.11.2011, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.10.2011

Репутация: нет
Всего: нет



Здравствуйте! Проблеме следующая - нужно реализовать автозапуск java приложения при старте windows. Но необходима возможность как включения, так и выключения данной функции (например, как в ICQ, QIP, и т.п.) 

Нашел эту тему Автозапуск в Java (через реестр), но тот пример не совсем наглядный (недавно с java начал работать), да и там нет ответа на то, как автозапуск можно отключить.. 

Еще рассматриваю вариант автозапуска через ярлык в папке автозапуска, но столкнулся с проблемой путей - в разных версиях windows пути до данной папки разные.. И нужно как-то создать ярлык на .jar файл и потом удалять через программу..

Возможно у кого-нибудь есть пример решения данной проблемы? В интернете ничего наглядного не нашел.. smile 
PM MAIL   Вверх
dorogoyIV
Дата 26.11.2011, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



скомпилишь, соберешь jar, откроешь реестр, запустишь джарик. (не забывай окно реестра обновлять (F5))
Код

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

public class Main extends JFrame
{
 public Main()
 {
  setDefaultCloseOperation(3);
  setBounds(100, 100, 400, 300);
  JLabel jl = new JLabel("Trojan horse", JLabel.CENTER);
  jl.setFont(new Font("Serif", Font.BOLD, 36));
  add(jl);
  setJMenuBar(new MyMenu(this));
 }

 public static void main(String [] args)
 {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    new Main().setVisible(true); }
  });
 }
}

class MyMenu extends JMenuBar
             implements ActionListener
{
 private Main main;
 private JCheckBox autorun = new JCheckBox("autorun");

 MyMenu(Main main)
 {
  this.main = main;
  JMenu menu = new JMenu("Menu");
  menu.add(autorun);
  add(menu);
  autorun.addActionListener(this);
 }

 public void actionPerformed(ActionEvent e)
 {
  editReg();
 }

 private void editReg()
 {
  // jar file
  File file = new File(System.getProperty("java.class.path"));
  String s;

  try
  {
   if(autorun.isSelected())
   {
    s = "cmd /C " + "reg add HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run /v " +
         file.getName() + " /t REG_SZ /d " + "\"" + file + "\"";
   }
   else
   {
    s = "cmd /C " + "reg delete HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run " +
        "/v " + file.getName() + " /f\r\n";
   }
   Runtime.getRuntime().exec(s);
  }
  catch(Exception ex){}
 }
}


Это сообщение отредактировал(а) dorogoyIV - 27.11.2011, 10:21
PM MAIL   Вверх
Shall
Дата 26.11.2011, 14:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 23.10.2011

Репутация: нет
Всего: нет



Цитата(dorogoyIV @ 26.11.2011,  13:10)
скомпилишь, соберешь jar, откроешь реестр, запустишь джарик. (не забывай окно реестра обновлять (F5))

Супер! Просто слов нет, спасибо огромное, долго искал просто  smile  А этот метод одинаков для всех версий windows? У меня стоит 7-ка, нет возможности хотя бы на XP проверить..
PM MAIL   Вверх
dorogoyIV
Дата 26.11.2011, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1503
Регистрация: 26.3.2007

Репутация: 3
Всего: 46



на W7 тоже будет работать. но там ограничения по доступу к реестру. поэтому может и не работать, пока эти ограничения не снимешь.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1443 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.