我已经评论了我所知道的大部分内容.我非常有信心在AttachThreadInput上出现问题.我认为它只能在32位下运行.相信我,如果我能自己解决这个问题,我会很乐意的.我阅读了Windows中事件的完整文档(这里),我没有更接近解决方案.如果你有任何想法,我很乐意听到他们.
#include <stdio.h>
#include <windows.h>
int main()
{
//Structure prereqs for CreateProcess
STARTUPINFO siStartupInfo;
PROCESS_INFORMATION piProcessInfo;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
if(CreateProcess("c:\\windows\\notepad.exe", "", 0, 0, FALSE, CREATE_DEFAULT_ERROR_MODE, 0, 0, &siStartupInfo, &piProcessInfo) == FALSE)
{
GetLastError();
}
Sleep(1000);
//Target thread, I can't seem to get this to return anything !0
DWORD dwTargetThread = GetWindowThreadProcessId(piProcessInfo.hProcess,NULL);
//For example:
//if(dwTargetThread == 0) return -1;
//Print debugging info
if (GetCurrentThreadId() == dwTargetThread) return -1; else printf("\nMy thread: %u\n\npiProcessInfo.hThread: %u\n\nDWORD …Run Code Online (Sandbox Code Playgroud) 我一直在检查谷歌一个小时.我尝试过使用typdef但是得到了相同的结果.我对结构范围有点困惑.我确定这只是一件我很遗憾的傻事.
示例,打印0:
#include <stdio.h>
struct info
{
int i;
};
struct info testinfo;
int test()
{
testinfo.i = 5;
}
int main()
{
printf("%d", testinfo.i);
}
Run Code Online (Sandbox Code Playgroud)