Hauptklasse beispielKlasse = new Hauptklasse();
package at.jta.process;
/**
*
Überschrift: Hauptklasse um Prozesse zu finden und sie zu killen/beenden</p>
*
*
Beschreibung: </p>
*
*
Copyright: Copyright (c) 2006</p>
*
*
Organisation: Taschek Jörg </p>
*
* @author Taschek Jörg
* @version 1.0 Erstversion 04.09.2006
*/
public class ProcessKiller
{
private static IKiller killer = null;
public static void main(String[] args) {
ProcessKiller pk = new ProcessKiller();
}
/******************************************************************************************************************************
* Gibt zurück welches OS du hast! Klein geschrieben!!
* @return das kleingeschriebene OS!
*****************************************************************************************************************************/
private static String checkOS()
{
String strOSystem = "default";
if (System.getProperty("os.name").toLowerCase().indexOf("windows") != -1)
strOSystem = "windows";
else if (System.getProperty("os.name").toLowerCase().indexOf("linux") != -1)
strOSystem = "linux";
else if (System.getProperty("os.name").toLowerCase().indexOf("unix") != -1)
strOSystem = "unix";
else if (System.getProperty("os.name").toLowerCase().indexOf("mac") != -1)
strOSystem = "mac";
return strOSystem;
}
static
{
//hier wird unter Windows und rest unterschieden
if(checkOS().equals("windows"))
killer = new Win32Killer();
else
killer = new UnixKiller();
}
/******************************************************************************************************************************
* Methode gibt die ProzessId vom Programm oder -1 zurück
* @param name String
* @return int
*****************************************************************************************************************************/
public static int getProcessId(String name)
{
return killer.getProcessId("firefox.exe");
}
/******************************************************************************************************************************
* Methode killt/beenden einen Prozess mit der jeweiligen ProzessId (wenn man die Rechte dazu hat)
* @param pid int
* @return boolean
*****************************************************************************************************************************/
public static boolean killProcess(int pid)
{
return killer.killProcess(pid);
}
/******************************************************************************************************************************
* Methode gibt das Handle zum Fenster zurück (zur Zeit nur windows)
* @param name String
* @return int
*****************************************************************************************************************************/
public static int getWindowHandle(String name)
{
return killer.getWindowHandle(name);
}
/******************************************************************************************************************************
* Methode schickt dem Fenster/handle den Exit Code sodaß das Programm in die Ende Methode geht (zur Zeit nur Windows)
* @param handle int
*****************************************************************************************************************************/
public static void exitWindow(int handle)
{
killer.exitWindow(handle);
}
}
package at.jta.process;
public class Test{
public static void main(String[] args) {
System.out.println("Mein Betriebsystem heißt " + ProcessKiller.checkOS());
//hier kannst du noch weitere Methoden ausprobieren indem du ProcessKiller.methodenname aufrufst. Achte auf den Rückgabewert!
}
}
Das glaube ich nicht, dann würde dieser Fehler nicht kommen.Aber jetzt bin ich mir schon fast sicher, das ich ein Fehler beim importieren der .dll-Datei mache.
Wenn eine Hauptklasse nicht geladen werden kann, dann kann das Problem nur darin bestehen, dass sich das .class File nicht im richtigen Verzeichnis befindet.
Das Class File muss sich im Verzeichnis befinden, welches im Classpath gewählt wurde.
Wenn für den Classpath in den Umgebungsvariablen beispielsweise C:\Java_Class_Files vermerkt wurde, könnte das .java File in diesem Verzeichnis kompiliert werden, aber müsste in jedem Fall dort abgelegt sein, wenn man mit java das Programm starten will.
Checkliste:
1. Path/Classpath einrichten.
Benutzervariable mit dem Namen "Path" anlegen und das Verzeichnis des Ordners "bin" des jdk angeben.
2. Weiere Benutzervariable mit dem Namen "Classpath" anlegen und das Verzeichnis angeben, in dem die Class Files abgelegt werden, die man dann per CMD.exe ausführen möchte.
Wichtig: Beim Kompilieren mit dem Kommandozeilen Interpreter muss man sich im jeweiligen Verzeichnis des zu kompilierenden java Files befinden. (Gilt nicht für das Ausführen von Class Files).
LG Vadim
Workspace\Killer\handle_process.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform