2014-09-29 2 views
0

Итак, я делаю программу с использованием Java, которая собирается закрывать приложения в определенное время и разрешать их в определенное время. Например, игра разрешена только с 5 вечера до 7 вечера. Но я не знаю, как сделать так, чтобы он закрывался в определенное время, и вы можете открывать его только в определенное время. У меня остальная часть кода, но не разрешения на время. Ваша помощь - спасибо,Написание программы Java для ограничения приложений в зависимости от времени суток

+0

В будущем, попробуйте найти более подробное название для ваших вопросов. «Нужна помощь в создании Java-программы» описывает почти каждый вопрос с тегами [java], и поэтому он бесполезен при просмотре списка вопросов. –

+0

Попытка разгадать новый заголовок, но не может – Pedantic

+0

Здесь, кажется, есть два очень разных вопроса - Как обеспечить соблюдение политики безопасности (что будет сложно/невозможно и зависит от платформы) и как делать вещи на основе время суток. О каком аспекте вы спрашиваете? –

ответ

0
import java.util.Scanner; 
import java.util.concurrent.Executors; 
import java.util.concurrent.ScheduledExecutorService; 
import java.util.concurrent.TimeUnit; 



public class Test { 
    private static Scanner scanner; 

    public static void main(String[] args) throws Exception { 
     ScheduledExecutorService ex = Executors.newScheduledThreadPool(2); 
     ex.scheduleAtFixedRate(new Start(), 0 , 24, TimeUnit.HOURS); 
     ex.scheduleAtFixedRate(new End(), 2 , 24, TimeUnit.HOURS); 
     scanner = new Scanner(System.in); 
     while(true){ 
      if(scanner.hasNext() && "Q".equals(scanner.next())){ 
       System.exit(0); 
      } 
      Thread.sleep(10000); 
     } 
    } 
} 

class Start implements Runnable{ 

    @Override 
    public void run() { 
     //start your game 
    } 

} 

class End implements Runnable{ 

    @Override 
    public void run() { 
     //shutdown your game 
    } 

} 

Как jwenting упоминалось, вы также хотите, чтобы убить или запустить программу или просто изменить разрешение игры.

Вот ссылка, чтобы убить процесс в окнах. Надеюсь, это поможет. How to find and kill running Win-Processes from within Java?

Чтобы избежать запуска игры, я понятия не имею.


В java 7 предусмотрены новые функции для изменения разрешений файла. Может ли это помочь вам установить разрешение файла в специальное время.

Path file = ...; 
Set<PosixFilePermission> perms = PosixFilePermissions.fromString("rw-------"); 
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(perms); 
try { 
    Attributes.setPosixFilePermissions(file, perms); 
} catch (IOException x) { 
    System.err.println(x); 
} 
+0

Это не остановит пользователя, запускающего что-то вне этой программы, поэтому бесполезно для OP. – jwenting

+0

Вопрос не очень ясен. У меня остальная часть кода , кажется, означает, что он может вставить свой код в мой, чтобы выполнить его требование. Существуют разные способы изменения разрешений игры на разных платформах с разной стратегией. –

+0

Нет, он хочет, чтобы Java-программа останавливала запуск определенных программ другими операционными системами в определенное время. Не собираюсь работать. – jwenting

0

Для этой цели вы можете использовать TimerTask.

Пример:

import java.util.Date; 
import java.util.Timer; 
import java.util.TimerTask; 

public class ExitOn { 

    Timer timer = new Timer(); 
    TimerTask exitApp = new TimerTask() { 
     @Override 
     public void run() { 
      System.exit(0); 
     } 
    }; 

    public ExitOn() { 
    timer.schedule(exitApp, new Date(System.currentTimeMillis()+5*1000));//Exits after 5sec of starting the app 
    while(true) 
     System.out.println("hello"); 
    } 

    public static void main(String[] args) { 
     new ExitOn(); 
    } 

} 

Sample Code found here

+0

Это неправильный ответ, не делает то, что хочет OP. – jwenting

Смежные вопросы