谁能帮我吧这两句C++BUILDER翻译成DELPHI.100分谢谢
#include "stdafx.h"#include <string>using namespace std;//---------------------------------------------------------------------------HWND hSASWnd;
FARPROC FOldProc;LRESULT CALLBACK SASWindowProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);BOOL CALLBACK EnumWindowsProc(HWND hwnd,LPARAM lParam);//---------------------------------------------------------------------------HANDLE hThread = NULL;
DWORD dwThreadId;DWORD WINAPI ThreadFunc();//---------------------------------------------------------------------------
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)
{
    switch(ul_reason_for_call)
    {
        case DLL_PROCESS_ATTACH :            hThread = CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadFunc,NULL,0,&dwThreadId);
            break;
        case DLL_PROCESS_DETACH :
            if(FOldProc != NULL)
            {
                SetWindowLong(hSASWnd,GWL_WNDPROC,long(FOldProc));
            }
            CloseHandle(hThread);
            break;
    }
    return TRUE;
}
//---------------------------------------------------------------------------

解决方案 »

  1.   

    type
      TWINAPI = function(Parameter: Pointer): DWORD; stdcall;//此处可能定义不是很准确var  
      hSASWnd: THandle;
      hThread: THandle = 0;
      FOldProc: FARPROC;
      ThreadFunc: TWINAPI;
      dwThreadId: DWORD;implementation
    function SASWindowProc(hwnd: THandle; uMsg: Cardinal; wParam, lParam: Integer): Integer; stdcall;
    begin
    end;function EnumWindowsProc(hwnd: THandle; lParam: Integer): Boolean; stdcall;
    begin
    end;function DllMain(hModule: THandle;  ul_reason_for_call: DWORD;  lpReserved: DWORD = 0): Boolean; stdcall;
    begin
      case ul_reason_for_call of
        DLL_PROCESS_ATTACH:
          hThread := CreateThread(nil, 0, @ThreadFunc, nil, 0, dwThreadId);
        DLL_PROCESS_DETACH:
        begin
          if FOldProc <> nil then
            SetWindowLong(hSASWnd, GWL_WNDPROC, Integer(FOldProc));
          CloseHandle(hThread);
        end;
      end;
      Result := True;
    end;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  2.   

    不会,没有学过c++builder,没有办法
      

  3.   

    type
      TWINAPI = function(Parameter: Pointer): DWORD; stdcall;//此处可能定义不是很准确改为;TWINAPI = function: DWORD; stdcall;—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  4.   

    Drate(小虫) :
    借机会学学c++呵呵—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————
      

  5.   

    一个Dll的Code
    是我就重新用Delphi写,比翻译好多了
      

  6.   

    是屏蔽2K的代码吧,网上比较多,你看看这里
    http://www.delphibbs.com/delphibbs/dispq.asp?lid=1508354
    源码DOWN:
    http://www.eping.net/fourm/UpLoadFile/2003872319514839.zip
      

  7.   

    var hSASWnd:HWND;
        FOldProc:FARPROC ;
        hThread:THANDLE= 0;
        dwThreadId:DWORD;Function SASWindowProc(hd:HWND;uMsg:UINT;wPara:WPARAM ;Para:LPARAM ):LRESULT;stdcall;
    begin
    end;
    Function EnumWindowsProc(hd:HWND;lPara:LPARAM ):BOOL;stdcall;
    begin
    end;Function ThreadFunc():DWORD;stdcall;
    begin
    end;Function DllMain(hModule: THandle;  ul_reason_for_call: DWORD;  lpReserved:pointer): BOOL; stdcall;
    begin
      case ul_reason_for_call of
        DLL_PROCESS_ATTACH:
          hThread := CreateThread(nil, 0, @ThreadFunc, nil, 0, dwThreadId);
        DLL_PROCESS_DETACH:
        begin
          if FOldProc <> nil then
            SetWindowLong(hSASWnd, GWL_WNDPROC, Integer(FOldProc));
          CloseHandle(hThread);
        end;
      end;
      Result := True;
    end;