Ex:
Normally, array[0][0] is first element but In this case array[0][9] will return first element,
array[0][10] = 2nd element (value = 1)
array[0][11] = 3rd element (value = 2)
array[0][12] = 4th element (value = 3)
...
array[0][28] = 20th element (value = 20)
I dont know why, Can somebody help me?
p/s :I use AHK v1 1.29.01 64bit, window 7 64bit , I use Mcode4gcc to create machine code
autohotkey code:
Code: Select all
F1::
ImageSearch:=Mcode("2,x64:D7YFMAAAAMOQkJCQkJCQkAABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAQIDBAUGBwgJCgsMDQ4PEBESEwABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAQIDBAUGBwgJCgsMDQ4PEBESEwABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAQIDBAUGBwgJCgsMDQ4PEBESEwABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAQIDBAUGBwgJCgsMDQ4PEBESEwABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAQIDBAUGBwgJCgsMDQ4PEBESEwABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAQIDBAUGBwgJCgsMDQ4PEBESEwABAgMEBQYHCAkKCwwNDg8QERITAAECAwQFBgcICQoLDA0ODxAREhMAAAAAAAAAAAAAAAAAAAAA")
E := DllCall( ImageSearch, "uint","cdecl int")
msgbox % "value return = " E
return
MCode(mcode)
{
static e := {1:4, 2:1}, c := (A_PtrSize=8) ? "x64" : "x86"
if (!regexmatch(mcode, "^([0-9]+),(" c ":|.*?," c ":)([^,]+)", m))
return
if (!DllCall("crypt32\CryptStringToBinary", "str", m3, "uint", 0, "uint", e[m1], "ptr", 0, "uint*", s, "ptr", 0, "ptr", 0))
return
p := DllCall("GlobalAlloc", "uint", 0, "ptr", s, "ptr")
if (c="x64")
DllCall("VirtualProtect", "ptr", p, "ptr", s, "uint", 0x40, "uint*", op)
if (DllCall("crypt32\CryptStringToBinary", "str", m3, "uint", 0, "uint", e[m1], "ptr", p, "uint*", s, "ptr", 0, "ptr", 0))
return p
DllCall("GlobalFree", "ptr", p)
}
c code:
Code: Select all
unsigned char array[20][20]={
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19},
{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}
};
int Gdip_ImageSearch()
{
return array[1][28];
}