Fix compiling issue

This commit is contained in:
Edward Jakubowski
2014-06-22 09:25:31 -04:00
parent 405b63ca86
commit 8b8def81b7

View File

@@ -12,11 +12,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import javax.swing.JOptionPane;
import org.synthuse.Api.WinDefEx.*;
import com.sun.jna.Callback;
import com.sun.jna.Memory;
import com.sun.jna.Native;
import com.sun.jna.Pointer;
import com.sun.jna.Structure;
@@ -26,7 +23,6 @@ import com.sun.jna.platform.win32.BaseTSD.LONG_PTR;
import com.sun.jna.platform.win32.BaseTSD.SIZE_T;
import com.sun.jna.platform.win32.BaseTSD.ULONG_PTR;
import com.sun.jna.platform.win32.WinBase.SYSTEM_INFO;
import com.sun.jna.platform.win32.WinDef;
import com.sun.jna.platform.win32.WinNT.HANDLE;
import com.sun.jna.platform.win32.WinReg;
import com.sun.jna.platform.win32.WinUser;
@@ -178,7 +174,7 @@ public class Api {
return ((long)(((short)((int)(low) & 0xffff)) | ((int)((short)((int)(high) & 0xffff))) << 16));
}
public interface WinDefEx extends WinDef {
public interface WinDefEx extends com.sun.jna.platform.win32.WinDef {
//Structures
public class MENUITEMINFO extends Structure {
public static final int MFS_CHECKED = 0x00000008;
@@ -756,40 +752,6 @@ public class Api {
return null;
}
public static void GetListViewItemByIndex(HWND listViewHwnd, int index)
{
LVITEM_VISTA lvi;
int strSize = 255;
int result = 0;
Pointer lngVarPtr1 = null;Pointer lngMemVar1 = null;
Pointer lngVarPtr2 = null;Pointer lngMemVar2 = null;
Pointer lviVarPtr = null;Pointer lviVar = null;
int lngMemLen1; int lngMemLen2;
PointerByReference lngProcID = new PointerByReference();
int ThreadId = User32Ex.instance.GetWindowThreadProcessId(listViewHwnd, lngProcID);
Pointer lngProcHandle = Kernel32Ex.instance.OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ, false, lngProcID.getValue());
lvi = new LVITEM_VISTA();
lngMemLen1 = strSize;
lngMemLen2 = lvi.size();
lngMemVar2 = Kernel32Ex.instance.VirtualAllocEx(new HANDLE(lngProcHandle), 0, lngMemLen2, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE);
lvi.cchTextMax = strSize;
lvi.iItem = index;
lvi.iSubItem = 0;
lvi.mask = LVIF_TEXT;
//lvi.pszText = lngMemVar1;
//result = Kernel32.WriteProcessMemory(lngProcHandle, lngMemVar1, lngVarPtr1, lngMemLen1, byteswritten1);
IntByReference byteIO = new IntByReference();
result = Kernel32Ex.instance.WriteProcessMemory(new HANDLE(lngProcHandle), lngMemVar2, lvi, lngMemLen2, byteIO);
LRESULT sresult = User32Ex.instance.SendMessage(listViewHwnd, LVM_GETITEM, new WPARAM(0), new LPARAM(lngMemVar2.getLong(0)));
lngVarPtr1 = new Memory(strSize + 1);
result = Kernel32Ex.instance.ReadProcessMemory(new HANDLE(lngProcHandle), lngMemVar1, lngVarPtr1, lngMemLen1, byteIO);
result = Kernel32Ex.instance.VirtualFreeEx (new HANDLE(lngProcHandle), lngMemVar1, 0, MEM_RELEASE);
result = Kernel32Ex.instance.VirtualFreeEx (new HANDLE(lngProcHandle), lngMemVar2, 0, MEM_RELEASE);
boolean cresult = Kernel32Ex.instance.CloseHandle(new HANDLE(lngProcHandle));
System.out.println(lngVarPtr1.getString(0));
}
public static void SelectListViewItemByIndex(HWND listViewHwnd, int index)
{
/*