一个关于注册dll的问题? 我想用VC编写一个像windows系统中regsvr32的,注册dll的小程序。如果这个东西相当庞大那么只要有注册与反注册就行了。但是小弟刚接触VC不知怎么个情况!望各位大哥指点一二。这个东西好编吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用LoadLibrary加载DLL。注册时用GetProcAddress获取DllRegisterServer函数地址,然后调用这个函数;反注册用GetProcAddress获取DllUnregisterServer函数地址,然后调用这个函数。最后FreeLibrary。 DllRegisterServer , DllUnregisterServer 作为com 组件类型dll的缺省导出接口你加载dll后,调用DllRegisterServer 来regsvr 注册DllUnregisterServer 来regsvr /u 反注册 能不能给举个例子啊!比如注册netman.dll具体怎么变成。最好把情绪源码贴出来! regsvr32的源代码(摘自mdsn)http://blog.csdn.net/dotnet90/archive/2008/01/29/2071497.aspx DLL Registration / Unregistration using a Shell Extensionhttp://www.codeproject.com/KB/shell/dllregshex.aspx 好像写一个脚本就可以注册啊,不记得了,com原理与应用有说到。 [code=BatchFile]regsvr32 /i my.dll // 注册regsvr32 /u my.dll // 注销[/code]//---------------------------------------------------------------------------// 注册com组件,reg为true注册,false注销//---------------------------------------------------------------------------bool __fastcall DllRegServer(const String &dllName, bool reg){ HINSTANCE module; int __stdcall (*fun)(void); module = LoadLibrary(dllName.c_str()); if (reg) fun = GetProcAddress(module, "DllRegisterServer"); else fun = GetProcAddress(module, "DllUnregisterServer"); if (fun == NULL) { FreeLibrary(module); return false; } else { fun(); FreeLibrary(module); return true; }} 我怎么看不懂啊!代码的什么地方指示了我要注册的dll了? dllName里面就是要注册的dll 我弄了半天,原来在VC++ 6.0 所附带的工具中就有注册DLL的东西,直接点击就可以了!半天白忙活了! 我弄了半天,原来在VC++ 6.0 所附带的工具中就有注册DLL的东西,直接点击就可以了!半天白忙活了! MFC单文档如何初始化内容 非框架视CFormView中,无法获取控件 GetExitCodeThread能检测到异常退出线程的状态吗????????? Shell_NotifyIcon NOTIFYICONDATA的一个疑问 如何删除文件 关于ActiveX问题,高手情进! 怎么样设置一个对话框为非模式对话框,并且让它在程序里显示出来 求 PictureEx.h,PictureEx.cpp 文件 除了WM_GETTXT外还有什么消息可以取得窗口的内容? 何时使用多个工作线程????网络??文件?? 【一个关于线程切换的问题】 打印功能的实现问题
DllUnregisterServer 来regsvr /u 反注册
http://blog.csdn.net/dotnet90/archive/2008/01/29/2071497.aspx
http://www.codeproject.com/KB/shell/dllregshex.aspx
regsvr32 /i my.dll // 注册
regsvr32 /u my.dll // 注销
[/code]//---------------------------------------------------------------------------
// 注册com组件,reg为true注册,false注销
//---------------------------------------------------------------------------
bool __fastcall DllRegServer(const String &dllName, bool reg)
{
HINSTANCE module;
int __stdcall (*fun)(void);
module = LoadLibrary(dllName.c_str()); if (reg)
fun = GetProcAddress(module, "DllRegisterServer");
else
fun = GetProcAddress(module, "DllUnregisterServer"); if (fun == NULL)
{
FreeLibrary(module);
return false;
}
else
{
fun();
FreeLibrary(module);
return true;
}
}
dllName里面就是要注册的dll