谁能帮我吧这两句C++BUILDER翻译成DELPHI.100分谢谢
谁能帮我吧这两句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;
}
//---------------------------------------------------------------------------
问题点数:100、回复次数:8Top
1 楼lxpbuaa(桂枝香在故国晚秋)回复于 2003-09-02 23:22:09 得分 40
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;
—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————Top
2 楼kingofghost(孤魂野鬼)回复于 2003-09-02 23:31:59 得分 0
不会,没有学过c++builder,没有办法Top
3 楼lxpbuaa(桂枝香在故国晚秋)回复于 2003-09-02 23:40:40 得分 20
type
TWINAPI = function(Parameter: Pointer): DWORD; stdcall;//此处可能定义不是很准确
改为;
TWINAPI = function: DWORD; stdcall;
—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————
Top
4 楼Drate(小虫(好好学习,天天向上))回复于 2003-09-02 23:43:13 得分 0
呵呵,楼上的耐心真好呀!Top
5 楼lxpbuaa(桂枝香在故国晚秋)回复于 2003-09-02 23:45:04 得分 0
Drate(小虫) :
借机会学学c++呵呵
—————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
—————————————————————————————————Top
6 楼ly_liuyang(Liu Yang LYSoft http://lysoft.7u7.net)回复于 2003-09-03 00:12:57 得分 0
一个Dll的Code
是我就重新用Delphi写,比翻译好多了Top
7 楼copy_paste(木石三)回复于 2003-09-03 00:59:16 得分 20
是屏蔽2K的代码吧,网上比较多,你看看这里
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1508354
源码DOWN:
http://www.eping.net/fourm/UpLoadFile/2003872319514839.zipTop
8 楼zjqyb(风清扬*任它溺水三千,我只取一瓢饮*)回复于 2003-09-03 06:57:45 得分 20
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;
Top




