大家发表一下意见,我知道是有一种方法可以让VB写标准DLL的。

解决方案 »

  1.   

    能不能介绍一下(除ActiveX Dll外)。
      

  2.   

    方法确有!是借助另一软件,老外开发的。
    哪位老大教偶用hook,偶就告诉他,呵呵~~ 
    if 有人教偶hook  then 
    告诉VB做标准dLL的方法
    end if
      

  3.   

    VB只能做局部HOOK,即只能HOOK你自己程序内的窗体或控件,而不能HOOK其它程序的窗体,如果想那样做,就只能借助DLL了
      

  4.   

    if 楼主告诉大家VB做标准dLL的方法 then 
      偶教楼主hook
    else
        免谈 
    end if
      

  5.   

    楼主啊hook的制作已经讨论过多次了,你搜索一下就知道了,可是vb作普通dll还没见人实现过,楼主何不不讲出来大家开开眼界
      

  6.   

    上面有位大哥说的VB只能做localHOOK,那也是因为VB做不了标准DLL,如果做的了的话,不就可以全局了么,呵呵
      

  7.   

    那假如说我想HOOK winsock32.dll中的send函数,能用setWindowsHookEx做吗?他能HOOK的消息有限,该选它哪个参数用呀
      

  8.   

    是不是想骗hook啊,其实不用嘛,自己搜一下就OK了
      

  9.   

    写一个资源文件包含dll,写程序释放出来,算步算
      

  10.   

    不算。
    偶试了,在VB中用此方法,写出的dll,可以用privete declare function....的方式调用。释放的方法不行吧。
      

  11.   

    偶不是想骗大家 ,只是真的想学拦截API的技术,只是一个人钻了很久也没什么结果,资料找遍了,尽是些垃圾,而且都是C的,偶有个VB的例子也都TMD是setwindowshookex,实在没办法了。
      

  12.   

    妈的,不相信拉倒,
    www.newup.com.cn/main/project1.dll
    这是偶写的
    找个分析工具看看,是不是标准的。气啊。MMD
      

  13.   

    谁想骂我或是教我拦截API,加我QQ,讨教一下 6465660
      

  14.   

    呵呵,等你学会用写字板写.exe文件,你就清醒些了。
      

  15.   

    楼主既然能用VB写DLL,那你用你找到的C语言的方法用VB写一个DLL,再通过DLL实现全局HOOK不就行了?
      

  16.   

    我不是要hook消息,是要拦截API。
    而且没有到过拦截API的C例子。
      

  17.   

    拦截API的C例子大把了,delphi的我都有
      

  18.   

    是不是这样子:
    loadlibary 加载dll
    getproaddress 取dll中函数地址
    把地址处的指令改被jmp 假函数地址
    在假函数地址的结尾加班被jmp替换掉的指令,并jmp源函数地址+代替字节数是这样不?
      

  19.   

    省省吧,回去翻翻你的《程序员杂志》或是《电脑编程与维护》上面有讲过。
    不过,我不相信你会用VB去 jmp、push..............
      

  20.   

    就是啊!嘿嘿,看来还是有高人的嘛。
    那位说让我去看程序员的朋友,我知道你是说程序员2001年第二期上的拦截API的那篇文章,不过可惜的是那种方法是借助于SetWindowsHookEx的,其实只是拦截了消息,不是真正的拦截API啊
      

  21.   

    就这个了,:
    WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
    {

    hModDLL = LoadLibrary("ApiHook.DLL");
    if (hModDLL == NULL)
    {
    MessageBox(NULL,"DLL Load Error!","APIHook Test",MB_ICONERROR);
    }
    PFN pfnInsertDll = (PFN)GetProcAddress(hModDLL,"InsertDll");
    hOk = pfnInsertDll();
    MessageBoxA(NULL,"API MessageBoxA 挂接失败!","APIHook Test",MB_OK);
    MessageBoxW(NULL,L"API MessageBoxW 挂接失败",L"ApiHook Test",MB_OK);
    if (hOk != NULL)
    {
    UnhookWindowsHookEx(hOk);
    }
    else
    {
    MessageBox(NULL,"Insert DLL Error!","APIHook TEXT",MB_ICONERROR);
    }
    return 0;
      

  22.   

    HHOOK InsertDll ()
    {
    hHook = SetWindowsHookEx(WH_GETMESSAGE,&GetMsgProc,hModDLL,0);
    return hHook;
    }
      

  23.   

    楼主你写的不是 C 的调用么? 怎么是 VB 的?
      

  24.   

    http://expert.csdn.net/Expert/TopicView1.asp?id=1581866