rundllvb.cpp
上传用户:davilee3
上传日期:2015-04-22
资源大小:986k
文件大小:2k
源码类别:

浏览器

开发平台:

Visual Basic

  1. // rundllvb.cpp : Defines the entry point for the DLL application.
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. typedef int (CALLBACK *MYPROC)(int,int,int,int); 
  6. typedef int (CALLBACK *dllreg)();
  7. BOOL APIENTRY DllMain( HANDLE hModule, 
  8.                        DWORD  ul_reason_for_call, 
  9.                        LPVOID lpReserved
  10.  )
  11. {
  12.     return TRUE;
  13. }
  14. int FAR PASCAL RegCom(LPCSTR lpDll,int isReg)
  15. {
  16. HINSTANCE hinstLib; 
  17.     dllreg ProcAdd; 
  18. int rtn=-1;
  19. BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; 
  20. // Get a handle to the DLL module.
  21.     hinstLib = LoadLibrary(lpDll); 
  22.  
  23.     // If the handle is valid, try to get the function address.
  24.  
  25.     if (hinstLib != NULL) 
  26.     { 
  27. if (isReg==1)
  28. ProcAdd =(dllreg)GetProcAddress(hinstLib, "DllRegisterServer");
  29. else
  30. ProcAdd =(dllreg)GetProcAddress(hinstLib, "DllUnregisterServer"); 
  31.  
  32.         // If the function address is valid, call the function.
  33.  
  34.         if (fRunTimeLinkSuccess = (ProcAdd != NULL))
  35.             rtn=ProcAdd(); 
  36. }
  37.         // Free the DLL module.
  38.  
  39.         fFreeResult = FreeLibrary(hinstLib); 
  40.     } 
  41. return rtn;
  42. }
  43. int FAR PASCAL RunDll(LPCSTR lpDll,int lpWeb,int msg,int wparam,int lparam)
  44. {
  45. HINSTANCE hinstLib; 
  46.     MYPROC ProcAdd; 
  47. BOOL fFreeResult, fRunTimeLinkSuccess = FALSE; 
  48. int rtn=-1;
  49. // Get a handle to the DLL module.
  50.     hinstLib = LoadLibrary(lpDll); 
  51.  
  52.     // If the handle is valid, try to get the function address.
  53.  
  54.     if (hinstLib != NULL) 
  55.     { 
  56.         ProcAdd =(MYPROC)GetProcAddress(hinstLib, "ShellWeb"); 
  57.  
  58.         // If the function address is valid, call the function.
  59.  
  60.         if (fRunTimeLinkSuccess = (ProcAdd != NULL))
  61.             rtn=ProcAdd(lpWeb,msg,wparam,lparam); 
  62. }
  63.         // Free the DLL module.
  64.  
  65.         fFreeResult = FreeLibrary(hinstLib); 
  66.     } 
  67. return rtn;
  68. }