library Project1;uses
  SysUtils,
  Classes,
  forms,
  windows,
  Unit1 in 'Unit1.pas' {Form1};{$R *.res}procedure WinMain;
varfomr1:Tform;
begin
form1:=tform1.Create(form1);
form1.ShowModal;end;
procedure DllEntryPoint(hModule: HMODULE; Reason: Integer; lpReserved: Pointer);
var
Thread: DWORD;
begin
case Reason Of
  DLL_PROCESS_ATTACH:
    CreateThread(nil,0,@WinMain,nil,0,Thread);
  DLL_PROCESS_DETACH:
  CloseHandle(Thread);
end;
end;begin
DllProc:=@DLLEntryPoint;
DLLEntryPoint(hInstance,DLL_PROCESS_ATTACH,nil);end.这是Delphi DLL文件中的代码 想问下C#该如何写?

解决方案 »

  1.   

    这是Delphi的,你如果知道delphi,就注释一下上面的代码,就会有朋友可以帮你转写成C#了。   

  2.   


    library Project1;uses //引用单元
      SysUtils,
      Classes,
      forms,
      windows,
      Unit1 in 'Unit1.pas' {Form1};//Form1{$R *.res}procedure WinMain; //form1.ShowModal
    varfomr1:Tform;
    begin
    form1:=tform1.Create(form1);
    form1.ShowModal;end;
    procedure DllEntryPoint(hModule: HMODULE; Reason: Integer; lpReserved: Pointer);
    var //DLLMAIN
    Thread: DWORD;
    begin
    case Reason Of
      DLL_PROCESS_ATTACH://DLL入口CreateThread
      CreateThread(nil,0,@WinMain,nil,0,Thread);
      DLL_PROCESS_DETACH:
      CloseHandle(Thread);
    end;
    end;begin
    DllProc:=@DLLEntryPoint;
    DLLEntryPoint(hInstance,DLL_PROCESS_ATTACH,nil);end.
      

  3.   

    请问哪位大侠能来帮下。大致意思就是c#编写的Dll可以注入到进程。