# Programm ausführen, sobald Ordner geöffnet?



## Guppi (27. Mrz 2008)

Hi,
ist es möglich eine ".jar" Datei auszuführen, sobald der Ordner geöffnet wird, in dem sich die ".jar" datei befindet?
Also dass z.B. dieses Programm ausgeführt wird, sobal der Ordner, in dem das Programm ist geöffnet wurde:

```
try	{
		Desktop.getDesktop().open(new File("C:\\Users\\Public"));
	}
	catch(Exception x)	{
		JOptionPane.showMessageDialog(null, "Es ist ein Fehler aufgetreten!", "Fehler!", JOptionPane.ERROR_MESSAGE);
	}
```
Schonmal Danke für Antworten!
Mfg, Guppi


----------



## Wildcard (27. Mrz 2008)

Wie öffnet man denn einen 'Ordner'?


----------



## Guppi (27. Mrz 2008)

Also ich meine das so: Wenn du z.B. auf dem Desktop einen Ordner namens "Neuer Ordner" hast und da ist eine Java Datei drin, z.B. namens "Test".
Dann soll "Java.jar" ausgeführt werden, wenn der Ordner "Neuer Ordner" geöffnet wird.
Jetzt verstanden?


----------



## Janus (27. Mrz 2008)

warum sollte man sowas wollen?


----------



## Guppi (27. Mrz 2008)

Also, meinem Freund wurde ein Programm zugeschickt, womit sein PC runtergefahren wird, sobald er draufklickt. Und jetzt wollte ich wissen, ob es theoretisch gehen würde ein programm zu schreiben, welches sofort startet, sobald der Ordner geöffnet wird... Und wenn es gehen würde, wie es geht


----------



## Wildcard (28. Mrz 2008)

Mit Ordner meinst du wohl Verzeichnis. Ein Verzeichnis öffnet man nicht, man listet seinen Inhalt auf.
Was du unter öffnen verstehst macht ein Progamm, bei dir also der Windows Explorer.
Wenn du das also möchtest, bring es deinem Windows Explorer bei.


----------



## Guppi (28. Mrz 2008)

Du kennst doch einen Ordner. Da befinden sich verschiedene Sachen drin und wenn man ihn öffnet, dann öffnet sich der Explorer und man sieht den Ordnerinhalt. Z.B. Musik, Verknüpfungen, Bilder, etc. Und wenn ich jetzt eine ".jar" Datei in so einen Ordner reinstecke, dann soll diese ".jar" Datei ausgeführt werden, sobalt der Ordner, in dem sich die Datei befindet geöffnet wird.
Hier ein Bild von einem Ordner:





Und so ein Ordnerinhalt könnte dann z.B. so aussehen: (Und dieses Programm "Starter" soll ausgeführt werden, wenn der Ordner namens "Neuer Ordner" geöffnet wurde)


----------



## ARadauer (28. Mrz 2008)

hast du das schon irgendwo mal gesehen?

ich denk nicht dass das geht, ohne das du jetzt explorer.exe umschreibst und neu compilierst ;-)


----------



## Wolfgang Lenhard (28. Mrz 2008)

Hi Guppi,
ich glaube es ist das Beste, wenn Du einfach einen Shortcut auf dem Desktop erzeugst: Starter.jat anklicken, Maustaste gedrückt halten und auf den Desktop ziehen, Strg + Shift drücken und Maustaste loslassen. Voilà: Ein Shortcut, mit dem man direkt das Programm ausführen kann. Alternativ kannst Du auch direkt Starter.jar auf den Desktop ziehen. Wenn es eh nur eine Datei ist, wozu dann ein eigener Order?

Ciao,
  Wolfgang

P.S.: Ich glaube, es geht prinzipiell nicht, ein Programm auszuführen, sobald ein Ordner angezeigt wird. Das wäre komplett fatal, da man dem Nutzer beliebige Schadprogramm unterjubeln könnte und diese unkontrolliert aktiviert werden.


----------



## MiDniGG (28. Mrz 2008)

Was war denn nun an Wildcards aussage so unverständlich???

Wenn ich je auf die Idee käme soetwas machen zu wollen würde ich auch einfach verknüpfung - Ordnersymbol - fertig machen... Naja. Ich bin eh faul ^^


----------



## Niki (28. Mrz 2008)

Ich glaube es geht genau um das "unterjubeln" von Programmen, also ein Java-Virus! Was machst du wenn der Benutzer die Runtime nicht installiert hat? --> Bitte installieren Sie die Java Laufzeitumgebung, ich möchte einen Java-Virus ausführen


----------



## Guppi (28. Mrz 2008)

(Das würde ich natürlich nieeemals machen) Also ich wollte halt wissen, ob es theoretisch gehen würde, wenn ich z.B. meinem Freund per icq eine ".jar" datei zuschicke, die Datei sich sofort ausführt und der PC sofort runtergefahren wird.
Aber ich will das wirklich nicht machen, ich will einfach nur wissen, ob und wenn, wie das geht.


----------



## Niki (28. Mrz 2008)

Dann ist die Antwort: Nein, geht nicht.


----------



## Guppi (28. Mrz 2008)

okay, thx


----------



## DamienX (28. Mrz 2008)

Obwohl mich bei bei MS Systemen zwar nix mehr wirklich wundert...
Das wäre wohl eine der fatalsten Sicherheitslücken die ich mir vorstellen könnte...
Viren die schon beim betrachten losgehn!

Die Antwort ist darum nein... das funktioniert bestimmt nicht ohne weiteres!


----------



## maki (28. Mrz 2008)

DamienX hat gesagt.:
			
		

> Obwohl mich bei bei MS Systemen zwar nix mehr wirklich wundert...
> Das wäre wohl eine der fatalsten Sicherheitslücken die ich mir vorstellen könnte...
> Viren die schon beim betrachten losgehn!
> 
> Die Antwort ist darum nein... das funktioniert bestimmt nicht ohne weiteres!


Leider ist doch das der Standard bei M$ Software, siehe IE, Outlook, Excel, Word, etc. pp.


----------



## HoaX (28. Mrz 2008)

ich bin der meinung unter windows geht das. ist aber zu lange her um mich jetzt genau zu erinnern. gibt dafür registryeinträge die definieren was die standardaktion beim öffnen ist (7zip starten bei .zip dateien usw.). gibt es auch ordner. irgendwie hab ich noch das wort shellextension dazu im kopf. aber wie gesagt, is schon n paar jährchen her wo ich noch mit der windows-api (und windows allgemein) gearbeitet hab.


----------



## Guppi (28. Mrz 2008)

okay, Danke für eure Antworten!
Mfg, Guppi
--CLOSED--


----------



## thE_29 (28. Mrz 2008)

So, jetzt schalte ich mich mal ein 

Klar geht das :bae:

Man muss einfach die Messages vom Windows Message System abfangen und somit könnte man da sich etwas starten!

Bzw, wird es in Windows sicher einen Hook dafür geben. Zb habe ich vorher mit dem Spy++ den Explorer gespyt und sobald man ein Verzeichnis wechselt, hatte man ein setText mit Verzeichnis!
Gehn tuts schon, aber für das was dein Freund will, wird sich der Aufwand kaum lohnen


----------



## Ich&Mir (29. Mrz 2008)

also mein AntiVir schlägt immer Alarm wenn ich mich durch virenbefallene Ordner such^^ 
des muss ja auch wissen wo der Explorer grad is, und könnte ja auch immer wenns merkt dass in dem order eine starter.jar is, diese starten


----------



## Mr. Java (29. Mrz 2008)

Es geht auch anders!

Man kann dem System sagen da ein Ordner die Funktionen von einem Laufwerk haben soll. Das geht über den Registrierungs-Editor.

Dan speichert man in den Ordner eine Autorun.in wo steht was gemacht werden soll. Mann könnte auch sagen wenn Ordner im Level1 (Ebene1) geöffnet worden ist, starte in Ordner XY die Datei XY.

Dadurch verliert man aber die Systemunabhängigkeit von Java. Die Idee von Ich&Mir ist sinnvoller, dafür muss aber das System neugestartet werden da diese Prozesse direkt am System, Kernel, Prozessor anheften. 

MfG
Mr. Java


----------



## thE_29 (31. Mrz 2008)

Und wie geht das mit der Registry genau?


----------

