What i see here is, RemoteExecute(processHandle, @DrawText, len, @arrCh, MAX_PATH)

However, Since the functio ni want. Is not being exported. But singly exists, because i know where the function call is being made, and i know the arguments. Let's say we have a function call in asm like this:

I want to be able to use that call. And With RemoteExecute i can't specify which adress i want to place the RemoteExecute on.

With CreateRemoteThreadEx(); Its the same thing. I can specify i function i want to place into the specified process.

What i want todo is something like:

RemoteExecute(processHandle, $05A7A6D7 , @DrawText)

Where then $05A7A6D7 is the adress, where the function call is being made. Then I want the arguments from DrawText being sent.

The function which i want to use, Will Draw Text onto the screen in a game. What i want to be able todo is, Calling that function, adding the arguments. So, Sort of a function hook, but i just want to use the function.
Could you please guide me on this matter?

RemoteExecute wants to copy the function to the target process, so it's not what you need. CreateRemoteThread(Ex) does not do that, however. So it sounds as if CreateRemoteThread(Ex) is what you need. There's a big problem, however: CreateRemoteThread(Ex) starts a new thread and it's strictly defined how the thread function has to look like. You can't just use any number of parameters you like. So CreateRemoteThread(Ex) is not really what you need, either.

The easiest way to solve this problem is to write a little dll and inject that into the target process. That's always easier than trying to get along without a dll.

Of course there's always the hard way. You could use RemoteExecute to copy a function to the target process and execute it there. This function could then call DrawText for you. That's quite difficult to realize, though. Only experienced assembler programmers should go this way...