Yo tenia algo parecido, pero todo con Delphi y me funcionaba en WinXp pero con Win7 no me salia el dichoso mensajito de "Inyectado con exito"....
Segun me parecio entender, en Win7 calc.exe no se ejecutaba con el permiso seDebugPrivilege y en consecuencia CreateRemoteThread devolvia el error ERROR_ACCESS_DENIED.
¿Has probado tu codigo en Win7?
Correccion:
Ahora me he fijado mejor y si que funcionaba en mi Win7 64 siempre que no intente inyectar la dll dentro de un proceso de 64 bits. Imagino que en mi Windows, el calc.exe sea de 64. De ahi la confusion..
Segun me parecio entender, en Win7 calc.exe no se ejecutaba con el permiso seDebugPrivilege y en consecuencia CreateRemoteThread devolvia el error ERROR_ACCESS_DENIED.
¿Has probado tu codigo en Win7?
Correccion:
Ahora me he fijado mejor y si que funcionaba en mi Win7 64 siempre que no intente inyectar la dll dentro de un proceso de 64 bits. Imagino que en mi Windows, el calc.exe sea de 64. De ahi la confusion..