LOWORD, HIWORD.. etc in Java?
-
Hallo!
Wie der Titel schon sagt, bräuchte ich etwas Äquivalentes(?) zu dem ganzen winapi kram in java, also: (LOWORD, HIWORD, LOBYTE, HIBYTE).. gibt es sowas rdy 4 use? oder muss man sich sowas selbst basteln?
Gruß
-
Was genau hast Du vor?
-
Gregor schrieb:
Was genau hast Du vor?
Ich möchte mein C++ projekt gern zu java porten.. da muss ich halt sowas irgendwie in java hinkriegen..
void Func_X_2(LPBYTE stream, DWORD key, BYTE keyByte) { stream[0] ^= (stream[0] + LOBYTE(LOWORD(key)) + keyByte); stream[1] ^= (stream[1] + HIBYTE(LOWORD(key)) + keyByte); stream[2] ^= (stream[2] + LOBYTE(HIWORD(key)) + keyByte); stream[3] ^= (stream[3] + HIBYTE(HIWORD(key)) + keyByte); stream[4] ^= (stream[4] + LOBYTE(LOWORD(key)) + keyByte); stream[5] ^= (stream[5] + HIBYTE(LOWORD(key)) + keyByte); stream[6] ^= (stream[6] + LOBYTE(HIWORD(key)) + keyByte); stream[7] ^= (stream[7] + HIBYTE(HIWORD(key)) + keyByte); }
-
Ich denke, dass Du Dir das selbst schreiben musst. Ist aber auch ganz schnell gemacht, wenn ich die Funktionen da richtig interpretiere: Einfach eine Shift-Operation mit anschließendem XOR mit einer entsprechenden Maske.
-
static short LOWORD(long data) { return (short)(data & 0xffff); } static short HIWORD(long data) { return (short)(data >> 16); } static byte LOBYTE(short data) { return (byte)(data & 0xff); } static byte HIBYTE(short data) { return (byte)(data >> 8); }
Habs so geschafft, danke!
Gruß