2012-12-06 112 views
0

我正在创建一个用户程序(CreateProcessAsUser()),以在用户屏幕上启动应用程序。我需要以某种方式获得一个函数在应用程序启动之前在用户的屏幕上运行。我的想法是CreateRemoteThread(),并把我的功能在这里,但这将发生CreateProcessAsUser()已经启动应用程序后。任何人建议?谢谢想在线程执行前完成线程

+0

我认为这是WinAPI? – dutt

+0

是的。我在createprocessasuser调用之前调用了该函数,但该函数在隐藏的会话0中调用。我认为通过使用一个线程我可以在用户会话中调用该函数。 – user1881918

回答

0

创建一个新的应用程序来执行您的功能,然后执行目标应用程序(可以使用CreateProcess()作为新应用程序通过CreateProcessAsUser()启动)。

+0

有没有绕过创建另一个新应用程序的方法。我可以执行以下操作:使用CreateProcessAsUser创建一个不启动应用程序的进程,然后为此进程分配一个线程来调用我的函数,然后用我的原始应用程序创建另一个进程(CreateProcessAsUser)? – user1881918

+0

@ user1881918:“创建一个不启动应用程序的进程” - 一个进程是一个应用程序,你的意思是界面?我会避免'CreateRemoteThread' - 如果你想要启动的应用程序是64位,而你的应用程序是32位呢?你不能注入一个线程。您应该在调用应用程序上使用'CreateProcessAsUser'(即使用'GetModuleFileName'),并使用一个命令行参数来告诉它执行您的'函数',这样您只需要一个应用程序,但它有两件事。 – parrowdice

+0

是的,我的意思是接口,但会运行一些exe不会有任何用处。谢谢,这清理了一些东西 – user1881918

相关问题