Results 1 to 4 of 4
  1. #1
    Join Date
    Jul 2007
    Rep Power

    Default Suggestions required for solving a Java problem

    Respected Members,
    I am working on a project from quite some time, during this time I have consulted different books, web sites, posted various messages on various forums but still unable to get the solution, actually the solution which I am aiming should be purely Java based, below I am first stating the scenario and than my questions, I would be waiting for replies from your side, please give me suggestions that how to make this thing possible and please help me finding some pure Java solution to this problem(if a pure java solution) exists), following is the scenario:


    I want to make a Java application which is continuously running in memory, by “continuously running in memory” I mean that when ever I start my PC the application starts running at the back end just like a Windows Service without any user intervention and when the PC is closed the application will off course stops working like all other windows services. Now what this application has to do is to continuously monitoring all the key strokes pressed from the keyboard by the user, when ever a user presses Ctrl-F3 ( pressing Control key and F3 keys together) than a pop up message will appear on the screen but if the user presses some other key or a combination of different key strokes than nothing will happen. This is the complete scenario which I am facing, now the questions which I have are as follows:


    1) How can I trap an event ( any particular key press event) from a Java program which is running in the windows service, handling key board events for a GUI based forms is quite simple but how can I trap an event for such a program, how can I bind my key press events to this program.
    2) My second question is that how to add a Java program to a windows service so that every time I start my PC my program like all other services also starts running.
    3) Last but not the least that I need a pure Java based solution, is this really possible and if not than what are the other ways to solve this scenario.

    Thanking You in advance.

  2. #2
    Nicholas Jordan's Avatar
    Nicholas Jordan is offline Senior Member
    Join Date
    Jun 2008
    Rep Power

    Default some approaches may be considered

    The challenge has been considered before, though we do not see a great and efficient discussion in the many books. In a discussion in another Java group, an arrival of oopinion was that there is no way to detect system shutdown from outside of the Java Virtual Machine was the consensus of that discusion. I neither read it nor know for sure. I do know that in considering my own design I arrived at a single class, extending Thread, and running at a lower-priority could be used to watch the keyboard for some sort of data.

    Trapping keyboard events from Java running as a background service ( a service ) suggests you are looking for a way to recieve the SIG_TERM and so on which do not exist at the level of the Java API, there exist in some programming languages a method of detecting when exit programs is broadcast to all running programs. Trapping keyboard events in my opinion will have to have some sort of window I would think. Is it necessary that the process run with no window?

    Starting every time windows starts up is done by adding what is called a shell shortcut to the start up menu. Once you figure it out it is like any other typed text.

    This task has been accomplished by the Apache server, it can be done but may involve much study. Being able to have a window makes idea much more accomplishable.
    Introduction to Programming Using Java.
    Cybercartography: A new theoretical construct proposed by D.R. Fraser Taylor

  3. #3
    mrcheeks is offline Member
    Join Date
    Jan 2008
    Rep Power


    I suggest another language than java for your "keylogger". There are some OS keystrokes that I think you won't be able to capture (ALT-TAB comes into my mind and there might be many others)

  4. #4
    Fubarable's Avatar
    Fubarable is offline Moderator
    Join Date
    Jun 2008
    Blog Entries
    Rep Power


    Quote Originally Posted by mrcheeks View Post
    I suggest another language than java for your "keylogger".
    As implied by the quotes above, programs such as these are often used for nefarious purposes. I hope that your goals are honest.

Similar Threads

  1. Any Datastructure Suggestions For An Unbalanced Tree?
    By markus-sukram in forum New To Java
    Replies: 0
    Last Post: 03-26-2008, 02:25 PM
  2. Quick Job required in Java
    By taxman in forum Jobs Offered
    Replies: 0
    Last Post: 01-02-2008, 11:46 AM
  3. I need a help in solving this method using vectors
    By java_fun2007 in forum New To Java
    Replies: 2
    Last Post: 11-26-2007, 07:51 PM
  4. Help required: regarding api
    By tarzan007 in forum New To Java
    Replies: 3
    Last Post: 11-07-2007, 04:46 AM
  5. Java application help and suggestions required
    By bilal_ali_java in forum Advanced Java
    Replies: 0
    Last Post: 07-18-2007, 03:11 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts