能力值:
(RANK:410 )
|
-
-
2 楼
BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam)
{
HANDLE hIns = GetCurrentProcess();
DWORD lpdwProcessId=NULL;
GetWindowThreadProcessId(hwnd,&lpdwProcessId);
HANDLE hInsB=OpenProcess(PROCESS_ALL_ACCESS,FALSE,lpdwProcessId);
if (hIns==hInsB)
{
if(!SetWindowPos(hwnd,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE | SWP_NOSIZE))
{
MessageBox(hwnd,"error","error",MB_OK);
}
CloseHandle(hInsB);
}
return true;
}
BOOL WINAPI DllMain(HINSTANCE hinstDll, DWORD fdwReason, PVOID fImpLoad) {
if (fdwReason == DLL_PROCESS_ATTACH)
{
EnumWindows(EnumWindowsProc, 0);
}
return(TRUE);
}
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
嗯,我按楼上的改了代码,就不崩溃了。
可是不明白为什么
还有,我段代码,是想借助,windows核心编程里面一个InjLib实例,实现对指定进程ID的主窗口进行置顶操作,没能实现,问题出在哪里?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
没有人回答,只能自己顶下了,我这边的网络上不了CSDN
周围的人又没得问
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
LPDWORD 是个指针类型吧?
如果是的话,你传进去,可能那个函数的parameter2不允许为空,所以给NULL同仁就crash了。
我也是猜的
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
LPDWORD lpdwProcessId=NULL;
GetWindowThreadProcessId(hwnd,lpdwProcessId);
这个指针为NULL,怎么放ProcessId
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
谢谢楼上,
对于那个指针已经有个大概的了解了。
还有,我段代码,是想借助,<windows核心编程>里面一个InjLib实例,实现对指定进程ID的主窗口进行置顶操作,没能实现,问题出在哪里?
|
|
|