帮忙看看有没有错误。

54gym 2003-06-11 06:24:48
为什么生成的DLL不能注册,要怎样将它注入到指定进程? 下面是代码。#include <windows.h>

#include "stdafx.h"

WNDPROC lpOldWndFunc=NULL;

LRESULT CALLBACK WinProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
case WM_SYSCOMMAND:
switch(LOWORD(wParam))
{
case 988:
MessageBox(hwnd,"test","About this demo...",MB_OK);
return TRUE;
}
break;

}
return CallWindowProc(lpOldWndFunc,hwnd,uMsg,wParam,lParam);
}


BOOL CALLBACK EnumWinProc(HWND hwnd, LPARAM lParam)
{
DWORD PID;
GetWindowThreadProcessId(hwnd,&PID);
if(PID==(DWORD)lParam)
{
HMENU SysMenu=GetSystemMenu(hwnd,FALSE);
if(SysMenu)
{
int ItemCount=GetMenuItemCount(SysMenu);
InsertMenu(SysMenu,ItemCount-1,MF_BYPOSITION|MF_STRING,988,"About This Demo...");
lpOldWndFunc=(WNDPROC)GetWindowLong(hwnd,GWL_WNDPROC);
SetWindowLong(hwnd,GWL_WNDPROC,(LONG)WinProc);

}

}
return TRUE;
}


BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch(ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
EnumWindows(EnumWinProc,(LPARAM)(GetCurrentProcessId()));
break;
}

return TRUE;
}



...全文
22 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
commandos 2003-06-11
  • 打赏
  • 举报
回复
up
54gym 2003-06-11
  • 打赏
  • 举报
回复
to cxf1976: 请问如何添加?
dlqcsdn 2003-06-11
  • 打赏
  • 举报
回复
up
cxf1976 2003-06-11
  • 打赏
  • 举报
回复
要添加registerServer和UnregisterServer两个函数

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧