谁能帮我吧这两句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;
}
//---------------------------------------------------------------------------
#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;
}
//---------------------------------------------------------------------------
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;—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
TWINAPI = function(Parameter: Pointer): DWORD; stdcall;//此处可能定义不是很准确改为;TWINAPI = function: DWORD; stdcall;—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
借机会学学c++呵呵—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
是我就重新用Delphi写,比翻译好多了
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1508354
源码DOWN:
http://www.eping.net/fourm/UpLoadFile/2003872319514839.zip
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;