Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

SilentDragon

Alter Hase

  • »SilentDragon« ist der Autor dieses Themas

Beiträge: 530

Wohnort: Köln

Beruf: Student

  • Private Nachricht senden

1

18.03.2009, 17:38

Window Handle in java bekommen

Hallo Leute,

wollte fragen ob jemand hier weiß wie ich das Handle von einem geöffnetem Fenster z.B. notepad bekomme und das Fenster dan in den vordergrund setze ?

und bitte in java ^^

mfg

Silentdragon
...

VuuRWerK

Frischling

Beiträge: 59

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

2

18.03.2009, 17:58

In pur Java und ohne JNI geht es nicht. Mit JNI kann man sich dann zwar das HWND einer jeden Component/Applikation holen aber dann hast Du die 32bit Adresse davon und dann? Kannst in Java nix damit anfangen. Java ist für sowas nicht vorgesehen um das besagte zu erreichen wirst Du auf natives C/C++ zurückgreifen müssen, gern auch wieder übers JNI und von Java aus aufrufen, das geht.

Gut Schuß
VuuRWerK ;)

Asmodiel

Treue Seele

Beiträge: 150

Wohnort: Schweiz

Beruf: Applikationsentwickler

  • Private Nachricht senden

3

18.03.2009, 17:59

Mit JNI

Sonst auf die Schnelle nichts gefunden - dürfte aber auch schwierig werden. ;) -> Google
Eat a beaver - Save a tree.

SilentDragon

Alter Hase

  • »SilentDragon« ist der Autor dieses Themas

Beiträge: 530

Wohnort: Köln

Beruf: Student

  • Private Nachricht senden

4

18.03.2009, 18:01

google mach ich schon ca. 2 stunden hab schon eben viel über JNI gelesen ...

wollte aber nur mit BlueJ arbeiten, gibts keine möglichkeit das so zu lösen ?

mfg
SilentDragon
...

Anonymous

unregistriert

5

18.03.2009, 19:24

Nein, natürlich nicht, du willst mit einer "portablen" Meta-Sprache auf ein HANDLE, (einen Pointer, etwas was es unter Java nicht gibt) zugreifen was nicht portabel ist. Da bringt dir Java nichts.

Außerdem: Schäm dich, Java *pfui*

SilentDragon

Alter Hase

  • »SilentDragon« ist der Autor dieses Themas

Beiträge: 530

Wohnort: Köln

Beruf: Student

  • Private Nachricht senden

6

18.03.2009, 21:07

Zitat von »"unsigned long"«

Nein, natürlich nicht, du willst mit einer "portablen" Meta-Sprache auf ein HANDLE, (einen Pointer, etwas was es unter Java nicht gibt) zugreifen was nicht portabel ist. Da bringt dir Java nichts.

Außerdem: Schäm dich, Java *pfui*


ich schäme mich ja :oops:
muss aber java machen, da mein info lehrer "nur" mit BlueJ arbeitet -> java -.-*

mfg
SilentDragon
...

MasterK

Frischling

Beiträge: 92

Wohnort: Koblenz

Beruf: Teamleiter Softwareentwicklung

  • Private Nachricht senden

7

18.03.2009, 22:22

Armes tufftuff :cry:

Zitat von »"unsigned long"«

Nein, natürlich nicht, du willst mit einer "portablen" Meta-Sprache auf ein HANDLE, (einen Pointer, etwas was es unter Java nicht gibt) zugreifen was nicht portabel ist. Da bringt dir Java nichts.

Na, ein window handle is im endeffekt ja auch nur nen int-wert. Man muss die WinApi-funktionen natürlich in java irgendwie zugänglich machen, ohne den umweg über C geht das wirklich nicht.

Es gibt aber eine recht nette alternative zu JNI, und zwar JNA. Das löst die funktionspointer zur laufzeit auf. Ist zwar etwas langsamer als JNI, erspart einem aber das schreiben einer C-DLL. Man programmiert da nur java. Geht eigentlich ziemlich problemlos und fix.

Direkt aus java gehts natürlich nicht, aber euer info-lehrer wird das ja kaum von euch verlangen, oder?

Anonymous

unregistriert

8

18.03.2009, 22:28

Geschweige das ein Info-Lehrer weiß was ein HWND ist ;)

Werbeanzeige